我們經常從服務器獲取圖像作爲字節流,然後創建位圖並將其分配給ImageView對象。Android位圖回收問題,我是否需要維護位圖的所有引用,以調用回收方法?
當我需要釋放內存時,我可以將所有ImageView引用刪除爲null,讓gc完成工作。
但問題是,這樣,我沒有調用位圖的回收方法,因爲我沒有保留它的引用。所以我想知道,我是否需要維護所有Bitmap的引用,以便將來回收它們?
我們經常從服務器獲取圖像作爲字節流,然後創建位圖並將其分配給ImageView對象。Android位圖回收問題,我是否需要維護位圖的所有引用,以調用回收方法?
當我需要釋放內存時,我可以將所有ImageView引用刪除爲null,讓gc完成工作。
但問題是,這樣,我沒有調用位圖的回收方法,因爲我沒有保留它的引用。所以我想知道,我是否需要維護所有Bitmap的引用,以便將來回收它們?
不,你不需要,GC會爲你做。
對不起之前,但如果你所說的,爲什麼會有一個回收方法?我可以簡單地將引用放到null並讓GC回收它。 – Lyn 2011-03-16 05:59:28
如果您經常操縱較大的位圖,並且需要儘快釋放內存,recycle()就在這裏。在正常的應用程序中,這在大多數情況下是不必要的。 – 2011-03-16 17:08:31
@RomainGuy但位圖分配在本機堆中,GC如何獲取它們? – 2012-06-14 22:07:04