首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bitmap.recycle() - "IllegalArgumentException:无法绘制回收位图“

Bitmap.recycle() - "IllegalArgumentException:无法绘制回收位图“
EN

Stack Overflow用户
提问于 2013-08-28 14:35:08
回答 1查看 2.4K关注 0票数 2

在题为"管理位图存储器“的文档中,您可以找到以下语句:

注意:只有当您确信位图不再被使用时,您才应该使用循环()。如果您调用循环(),然后尝试绘制位图,您将得到错误:“画布:尝试使用回收位图”。

那么,“不再”到底是什么意思?

我在片段中调用setImageDrawable(drawable),onCreateView(.)方法。并在片段的onStop()中调用可绘制的位图上的onStop()。当用户通过启动另一个活动而离开片段时,位图就会被回收。但是当用户返回到前面的片段时,它的onCreateView()将再次被调用,从而产生对“setImageDrawable(可绘制的)”的新调用。这会抛出:

代码语言:javascript
复制
IllegalArgumentException: Cannot draw recycled bitmaps

因此,我似乎仍然处于“不再”的环境中。我什么时候才能得到一个新的位图,它是不回收的?只有在碎片和它的活性被完全摧毁之后?

EN

回答 1

Stack Overflow用户

发布于 2013-08-30 06:44:50

那么,“不再”到底是什么意思?

不再意味着您将不再使用位图的相同引用。

正如您正在回收onstop()上的位图一样,在您的onStop()中也尝试使用这个

代码语言:javascript
复制
   if(bitmap!=null)
   {
      bitmap.recycle();
      bitmap=null;
   }

安卓系统中的位图和outOfMemory

如果你想让你的一天过得好的话,看这个官方视频的前20分钟- CruQY55HOk

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18490944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档