這是我熟悉的,即按返回鍵會導致活動獲得「破壞」,或當開發者調用函數完成(),或當系統需要內存等..Activity.onDestroy幕後真正的破壞是什麼意思?
並且也很熟悉我們需要在onDestroy中執行清理過程,如unBindDrawables(請參閱example),以避免OutOfMemory異常。
我的問題是:
被刪除不活動的破壞意味着參考活動對象?即活動對象是否可用於GC?如果是這樣,爲什麼我們需要顯式刪除對活動相關視圖的引用?
考慮例如:
如果對象甲具有參照對象乙和乙由甲只提到,那麼如果我們廢了甲的參考有沒有必要明確設置B的參考爲空,兩者都將進行GC編輯...
我的intuitio ñ告訴我,活動的情況是這樣的...請告訴我我的錯誤在哪裏。
謝謝!
在此先感謝CommonsWare,我很滿意第一個問題。 – sevteen 2012-08-09 21:05:32
但關於第二...爲什麼然後「unbindDrawables」解決OutOfMemory錯誤?或者,也許我誤解了unbindDrawables的含義? – sevteen 2012-08-09 21:11:00
@dioholic:該博客文章中沒有任何內容是絕對必要的,儘管部分內容(尤其是背景內容)在某些情況下可能很有用。請參閱http://stackoverflow.com/a/7045044/115145。 – CommonsWare 2012-08-09 22:46:31