1. 程式人生 > >Android6.0以上應用在長時間在後臺,因為記憶體不足導致系統回收記憶體,當再次啟動應用出現Fragment重疊或者空白、異常解決方案(提供模擬記憶體不足導致系統回收記憶體的方案)。

Android6.0以上應用在長時間在後臺,因為記憶體不足導致系統回收記憶體,當再次啟動應用出現Fragment重疊或者空白、異常解決方案(提供模擬記憶體不足導致系統回收記憶體的方案)。

  Android6.0以上應用在長時間在後臺,因為記憶體不足導致系統回收記憶體,當再次啟動應用出現Fragment重疊或者空白解決方案。

首先提供一個方法模擬記憶體不足導致系統回收記憶體的方案:

開啟Android Studio -->Tools-->Android-->Android Device Monitor-->把你的應用切換到後臺(home鍵)-->選擇你的應用包名-->點選紅色的stop按鈕-->再次進入你的應用,即可模擬出記憶體被回收的情況。


下面給出的解決方案是:(摘錄)

方案1:在fragmentActivity裡oncreate方法判斷savedInstanceState==null才生成新Fragment,否則不做處理。

方案2:在fragmentActivity裡重寫onSaveInstanceState方法,但不做實現,也就是將super.onSaveInstanceState(outState)註釋掉。 這樣你Activity銷燬了你也不用儲存我Fragment的狀態了。

方案3:if(savedInstanceState!=null){

FragmentManager manager = getSupportFragmentManager();

manager.popBackStackImmediate(null, 1);

}判斷savedInstanceState不等以null就彈出所有Fragment 全部重新載入。