我正在将图像加载到Android手机的内存中,因此我可以通过网络服务将它们传递到Web服务中。
有时我出现内存错误,我已经可以通过
捕获此异常了 try{
bm = BitmapFactory.decodeFile(path);
}catch(OutOfMemoryError ofmE){
System.out.println("OUT OF MEMORY $$$$$$$$" + ofmE);
}
虽然我需要执行此操作,但我需要清理ram内存。我怎样才能做到这一点?以编程方式,我的意思是。
答案 0 :(得分:0)
您可以使用Picasso。这是更清洁的方式。
答案 1 :(得分:0)
您是否注意到方法decodeFile(String pathName,BitmapFactory.Options opts)?使用选项缩小图像大小以节省内存。请参阅BitmapFactory.Options。 public int inSampleSize如果设置为值> 1,请求解码器对原始图像进行二次采样,返回较小的图像以节省存储空间。例如,您可以设置inSampleSize = 4
。要回收位图,可以使用bm.recycle();