2017-02-25 122 views
1

分配的內存不斷增加,1mb沒有減少... 看起來垃圾收集器根本沒有被調用。分配的內存不斷增加

我有主要活動與選項卡布局和4片段(如instagram),並與我從服務器獲得大量的位圖。 一旦我從互聯網上下載數據,如果再次調用該片段,我將使用保存ArrayList中要調用的對象。 例如:

@Override 
public void onPause() { 
    super.onPause(); 

    if (itemsArray != null) { 
     savedListState = new Bundle(); 
     savedListState.putSerializable("myKey", itemsArray); 
    } 
} 
@Override 
public void onResume() { 
    super.onResume(); 

    if (savedListState != null) { 
     customGridProfileAdapter = new CustomGridProfileAdapter(getActivity(), itemsArray); 
     gridView.setAdapter(customGridProfileAdapter); 
     savedListState = null; 
    } 
} 

我並沒有破壞視圖。 我認爲這是問題,但看起來不是這樣,因爲當我在活動之間切換時,它仍然以同樣的方式工作,即使我銷燬正在被替換的活動的視圖。 那麼該怎麼辦?爲什麼垃圾收集器不會減少分配的內存? 我應該如何處理已下載的物品?

回答

1

您的應用程序可能存在內存泄漏。要詳細瞭解內存泄漏watch this wonderful video。根據我的經驗,每個大型應用程序都會遇到這個問題。