在题为"管理位图存储器“的文档中,您可以找到以下语句:
注意:只有当您确信位图不再被使用时,您才应该使用循环()。如果您调用循环(),然后尝试绘制位图,您将得到错误:“画布:尝试使用回收位图”。
那么,“不再”到底是什么意思?
我在片段中调用setImageDrawable(drawable),onCreateView(.)方法。并在片段的onStop()中调用可绘制的位图上的onStop()。当用户通过启动另一个活动而离开片段时,位图就会被回收。但是当用户返回到前面的片段时,它的onCreateView()将再次被调用,从而产生对“setImageDrawable(可绘制的)”的新调用。这会抛出:
IllegalArgumentException: Cannot draw recycled bitmaps因此,我似乎仍然处于“不再”的环境中。我什么时候才能得到一个新的位图,它是不回收的?只有在碎片和它的活性被完全摧毁之后?
发布于 2013-08-30 06:44:50
那么,“不再”到底是什么意思?
不再意味着您将不再使用位图的相同引用。
正如您正在回收onstop()上的位图一样,在您的onStop()中也尝试使用这个
if(bitmap!=null)
{
bitmap.recycle();
bitmap=null;
}如果你想让你的一天过得好的话,看这个官方视频的前20分钟- CruQY55HOk
https://stackoverflow.com/questions/18490944
复制相似问题