This question already has answers here:
Diff b/w bitmap.recycle() and bitmap=null

(3个答案)


7年前关闭。




我看到这两行总是在一起的:
myBitmap.recycle();
myBitmap = null;

如果我仅使用:
myBitmap = null;

有什么区别?

谢谢。

最佳答案

根据文档:

public void recycle()



所以基本上
myBitmap = null;

删除对它所指向的位图的特定引用。如果它是唯一引用,则垃圾收集器将清除该位图。

然而,
myBitmap.recycle();
myBitmap = null;

删除对该位图的像素数据的隐藏引用。然后,它将删除您对位图的特定引用。因此,两者都将被垃圾收集。除非您有一个巨大的位图,或者由于某种原因内存有限,否则您不必担心调用myBitmap.recycle()。

10-02 04:03