无法绘制回收的位图

时间:2014-12-11 12:29:23

标签: android bitmap

此代码有错误吗?当我运行这个时,我在这里得到一个错误,因为无法绘制回收的位图。 当我通过堆栈溢出本身阅读时,我得到了这个代码。

`Bitmap bm = BitmapFactory.decodeFile(urlString,options);
 imgDisplay.setImageBitmap(bm);
    if(bm!=null){
        bm.recycle();
    }`

2 个答案:

答案 0 :(得分:1)

你应该只在你的Activity的onDestroy()中调用call recycle(),并且只有你知道为什么需要这样做。通常情况下没有必要,除非您面对例如记忆问题。您可以在调用View的onDraw()之前调用当前的recycle(),或者可能有其他代码触发View上的绘图调用,这会导致错误。所以我建议你删除recycle()调用作为起点。

答案 1 :(得分:0)

删除

if(bm!=null){
        bm.recycle();
    }`

仅在不再使用或完全引用时才回收位图。