Android图片加载内存不足

时间:2014-01-28 14:28:28

标签: java android memory out-of-memory ram

我正在将图像加载到Android手机的内存中,因此我可以通过网络服务将它们传递到Web服务中。

有时我出现内存错误,我已经可以通过

捕获此异常了
    try{
        bm = BitmapFactory.decodeFile(path);
    }catch(OutOfMemoryError ofmE){
        System.out.println("OUT OF MEMORY $$$$$$$$" + ofmE);
    }

虽然我需要执行此操作,但我需要清理ram内存。我怎样才能做到这一点?以编程方式,我的意思是。

2 个答案:

答案 0 :(得分:0)

您可以使用Picasso。这是更清洁的方式。

答案 1 :(得分:0)

您是否注意到方法decodeFile(String pathName,BitmapFactory.Options opts)?使用选项缩小图像大小以节省内存。请参阅BitmapFactory.Options public int inSampleSize如果设置为值> 1,请求解码器对原始图像进行二次采样,返回较小的图像以节省存储空间。例如,您可以设置inSampleSize = 4。要回收位图,可以使用bm.recycle();