为什么 实现 回收 就会停止运行???

zhuyangyang123 2012-07-26 02:12:36
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();
}


错误信息:
07-26 06:12:03.153: E/AndroidRuntime(1743): java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@41368ae8
...全文
106 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hvk687 2012-07-26
  • 打赏
  • 举报
回复
Bitmap会在native层分配内存,这个内存给你回收了,就出问题了。
JavPer 2012-07-26
  • 打赏
  • 举报
回复
你那图在后面又加载使用了,你内存回收了,所以。。。
AMinfo 2012-07-26
  • 打赏
  • 举报
回复
bmap.recycle();过早执行了。

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧