Android加载大量图片内存溢出解决办法

   当我们在做项目过程中,一遇到显示图片时,就要考虑图片的大小,所占内存的大小,原因就是Android分配给Bitmap的大小只有8M,试想想我们用手机拍照,普通的一张照片不也得1M以上,所以android处理图片时不得不考虑图片过大造成的内存异常。

 

方法一:

在从网络或本地加载图片的时候,只加载缩略图。

 

这个方法的确能够少占用不少内存,可是它的致命的缺点就是,因为加载的是缩略图,所以图片失真比较严重,对于对图片质量要求很高的应用,可以采用下面的方法。

 

 

方法二:

运用JAVA的软引用,进行图片缓存,将经常需要加载的图片,存放在缓存里,避免反复加载。

 

 

方法三:

及时销毁不再使用的Bitmap对象。

 

if (bitmap != null && b!itmap.isRecycled()){

 

bitmap.recycle();

 

bitmap = null; // recycle()是个比较漫长的过程,设为null,然后在最后调用System.gc(),效果能好很多

 

}

 

System.gc();

 

你可能感兴趣的:(android)