兩天前我注意到了一些東西。我對地圖活動有一個微調。在活動的OnCreate()方法中,我使用數據填充微調器。之後,我開始在DDMS中的堆分析器,我開始打開/關閉微調器。當我打開微調項時,我注意到虛擬機分配內存,但是當我關閉它時,虛擬機不釋放這個內存。我試圖啓動GC,但內存仍然分配。我一個接一個地做了20次,分配的內存從3.5MB增加到7MB。哪裏不對?我在谷歌組中發現了一個問題,但他們還沒有回答。
Spinner memory leakAndroid - 內存泄漏還是?
我重寫了所有我的代碼在微調適配器,但問題仍然存在。 我讀了一些意見這個話題
中也有一些是我沒得到:
當可提拉連接到一個視圖,該視圖設置爲在繪製的回調。在上面的代碼片段中,這意味着drawable引用了TextView,它本身具有對活動的引用(Context),它依次引用任何東西(取決於您的代碼)。
什麼這是什麼意思?如果我有一個textview並將其設置爲可繪製對象(我注意到drawable是靜態的),textview對象具有對可繪製對象的引用,並且可繪製對象也具有對該視圖的引用?如果這是真的,他們變得不可被GC破壞,因爲他們都有彼此的引用。什麼是這些對象之間的回參考(回調)依賴關係?
沒有得到,要麼tbh – 2017-01-14 09:07:32