Android 开发,关于Bitmap图片释放资源的问题,求高手指点!
Bitmapbm=treatmentPrice(u);Bitmapbm2=Utils.upImageSize(bm,imageView);imageView.setIma...
Bitmap bm = treatmentPrice(u);
Bitmap bm2 = Utils.upImageSize(bm, imageView);
imageView.setImageBitmap(bm2);
bm.recycle();
bm和bm2它们本不是同一个对象,为什么我后面bm.recycle();释放掉这个资源,会报错?实在不解!
这是报错内容:java.lang.IllegalArgumentException: Cannot draw recycled bitmaps 展开
Bitmap bm2 = Utils.upImageSize(bm, imageView);
imageView.setImageBitmap(bm2);
bm.recycle();
bm和bm2它们本不是同一个对象,为什么我后面bm.recycle();释放掉这个资源,会报错?实在不解!
这是报错内容:java.lang.IllegalArgumentException: Cannot draw recycled bitmaps 展开
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
他说draw,你在后续的代码中有没有画bm...要么就是upImageSize这个方法做了什么?都是你自己封装的方法看不到,解决难啊
追问
upImageSize在这个方法里面就只是重新生成了一个BitMap返回回来,所以这个bm不就是没用了么?
追答
是的,但你是不是还有用的地方
//bitmap 释放测试
m_ctlShow = (ImageView) findViewById(R.id.iv_show);
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.bot_big_g);
Bitmap bm2 = Bitmap.createBitmap(bm, 50,100,400,300);
m_ctlShow.setImageBitmap(bm2);
bm.recycle();
亲测正常实现
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询