This question already has answers here:
Diff b/w bitmap.recycle() and bitmap=null
(3个答案)
7年前关闭。
我看到这两行总是在一起的:
如果我仅使用:
有什么区别?
谢谢。
所以基本上
删除对它所指向的位图的特定引用。如果它是唯一引用,则垃圾收集器将清除该位图。
然而,
删除对该位图的像素数据的隐藏引用。然后,它将删除您对位图的特定引用。因此,两者都将被垃圾收集。除非您有一个巨大的位图,或者由于某种原因内存有限,否则您不必担心调用myBitmap.recycle()。
(3个答案)
7年前关闭。
我看到这两行总是在一起的:
myBitmap.recycle();
myBitmap = null;
如果我仅使用:
myBitmap = null;
有什么区别?
谢谢。
最佳答案
根据文档:
public void recycle()
所以基本上
myBitmap = null;
删除对它所指向的位图的特定引用。如果它是唯一引用,则垃圾收集器将清除该位图。
然而,
myBitmap.recycle();
myBitmap = null;
删除对该位图的像素数据的隐藏引用。然后,它将删除您对位图的特定引用。因此,两者都将被垃圾收集。除非您有一个巨大的位图,或者由于某种原因内存有限,否则您不必担心调用myBitmap.recycle()。
10-02 04:03