Activity生命週期的補充

正常來說Activity的生命週期是這樣的

wKiom1eMMojSyJbkAAFCz1Y9SWs799.jpg

如果有重寫 onSaveInstanceState(Bundle outState) 來保存重要參數

,比如有重新賦值的成員變量,那麼

onSaveInstanceState() 方法在  onPause() 之後 onStop() 之前;
然後 onStop() 執行之後進入別的Activity;

其他界面如果有返回數據會先 onActivityResult() 然後就是正常的:

onRestart()  __  onStart()  __  onResume()


不過在 開發中模式 開啓 不保留活動 來模擬可能出現 內存不足 的情況;

依然是:

onSaveInstanceState() 方法在  onPause() 之後 onStop() 之前;
進入別的Activity之後  onDestroy()銷燬界面;
後退時重新進入 onCreate()方法 onStart()  onRestoreInstanceState()  onResume();

這時如果需要獲取保存的數據可以在  onCreate(Bundle savedInstanceState) 馬上獲取處理

也可以等  onRestoreInstanceState(Bundle savedInstanceState)再獲取,只是
onRestoreInstanceState()方法在 onStart()之後 onResume()之前;
具體看情況區分.

如果頁面有返回數據則

onActivityResult() 在 onRestoreInstanceState()之後 onResume()之前;

這個和正常的返回是不一樣的,得注意


以上這些只是關於Activity生命週期的一些補充,Fragment生命週期得另外考慮

wKiom1eMNiKRJ7kRAAFUCVCqRbY861.png

下次測試一下再更新

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章