为什么 实现 回收 就会停止运行???
- Java code
try{ FileInputStream fis = new FileInputStream(file); BufferedInputStream bis = new BufferedInputStream(fis); Bitmap bmap = BitmapFactory.decodeStream(bis, null, opt) ; //Bitmap thbm=ThumbnailUtils.extractThumbnail(bmap, 50,50);//压缩图片 viewholder.image.setImageBitmap(bmap); bis.close(); if(!bmap.isRecycled()){ bmap.recycle(); System.gc(); } }catch(Exception e){ e.printStackTrace(); }错误信息:
- Java code
07-26 06:12:03.153: E/AndroidRuntime(1743): java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@41368ae8
[解决办法]
bmap.recycle();过早执行了。
[解决办法]
你那图在后面又加载使用了,你内存回收了,所以。。。
[解决办法]
Bitmap会在native层分配内存,这个内存给你回收了,就出问题了。