0
我認爲我的問題是因爲我濫用繼承。我有4個活動,都擴展了共享公共代碼的BaseActivity(onClick,onItemClick,靜態和非靜態方法)。每項活動都從網絡獲取數據 - 包括圖像。當我使用整個應用程序的時間更長時,我有內存泄漏錯誤(虛擬機不會讓我們分配xxx字節)和應用程序粉碎。複雜的活動問題
如果我正確理解 - 這是因爲通過擴展這4個活動,我使它們像基本活動的內部類一樣 - 這就是爲什麼當我在它們之間切換時不會調用它們的onDestroy()方法。此外,GC不收回任何RAM,並且堆被阻塞。 BaseActivity擁有所有數據(例如圖像),從而可以在單擊「後退」按鈕時顯示它們而無需重新創建數據。
如果這是真的 - 另一種選擇是通過使用助手類來共享通用代碼來分離它們 - 但是,當我將在活動之間切換時 - 它們將一遍又一遍地下載它的數據。
我是對的,有沒有解決方案?