我的android應用程序隨着時間的推移會佔用越來越多的內存。我拿了堆轉儲並用MAT分析。我的android應用程序消耗太多內存
這裏的主要泄漏嫌疑人:
所以好像從內存中後,我退出應用程序也不會被清除我的活動之一(與返回鍵),然後當我重新啓動應用程序創建一個新的實例並填充內存。
現在,如果他們是PhantomReferences爲什麼內存不清除一段時間後,或者當我退出應用程序?即使當我使用其他應用程序等時,內存也不會被清除。完全關閉應用程序的唯一方法是使用任務管理器手動終止應用程序。
我該怎麼做才能避免這種無政府狀態的內存消耗?
編輯:
我發現了問題! 每個活動都使用Thread.setDefaultUncaughtExceptionHandler()設置CustomExceptionHandler,並且該CustomExceptionHandler保持對上下文的引用。所以我擺脫了上下文引用,並且在'onDestroy()'方法中'取消了'DefaultUncaughtExceptionHandler。現在真的好多了!
你有線程,Asyntasks ...? – Jonas
是的確都是 – Alexis
......你殺了他們嗎? – Jonas