2012-01-06 115 views
2

我讀的鏈接http://developer.android.com/resources/articles/avoiding-memory-leaks.html 並且需要知道應該怎樣做,如果我創建了一個按鈕爲了避免內存泄漏

Button按鈕=新的Button按鈕時分配到一個靜態變量怎麼辦(此)在活動

並分配按鈕,可將靜態變量「sButton」

sButton =按鈕

什麼應在活動的onDestroy()方法來進行,以避免存儲器leakage.W否則分配sButton = null是否充分地完成了這項工作?或者我們必須在sButton上調用其他一些方法。

假設我們做了與上面相同的事情,但是我們不是按鈕而是將活動類本身或活動上下文保存到靜態變量中,應該做些什麼以便刪除活動的所有引用以便可以銷燬活動恰當地避免了內存不足。

回答

1

該示例指出,通過一個簡單的可繪製對象執行此操作會由於引用鏈而泄漏整個活動。如果你不是保存drawable,而是保存活動,那麼你就陷入了同樣的問題。

將引用設置爲null應該可以解決問題,查找文章中引用的示例d。但要小心在內存中保留不需要的活動。

+0

感謝您的回覆。然後在文章中引用的示例中,使可繪製的sBackground = null應該足夠了(如果我們不需要sBackground),而不是在sBackground drawable上調用setCallback(null)。正確? – user874341 2012-01-09 05:09:35