代码中使用了Bitmap,运行时总报内存泄露,很少困扰:
public static Bitmap bytes2Bimap(byte[] b) {
Bitmap bitmap = null;
try {
if (0 != b.length ) {
bitmap = BitmapFactory.decodeByteArray(b, 0, b.length);
}
}catch (Exception e) {
e.printStackTrace();
}
return bitmap;
}
在上面这段话中: bitmap = BitmapFactory.decodeByteArray(b, 0, b.length); 报内存泄露。在外面使用了recyle了也还是不起作用
最后和同事一起查了相关资料,优化了下代码,避免这句话反复调用,OK。。。
Bitmap在使用时需小心内存泄露问题,如果涉及到大的图片,而且反复调用,即时调用了recyle()也不一定关于,因为系统的内存
回收可能没有那么及时,反复的开辟,必会造成程序内存的崩溃,长一教训。。。