Activity類中7個與活動生命週期回調有關的方法:
onCreate()。
在活動第一次被創建時調用。加載佈局、綁定事件
onStart()。
在活動由不可見變爲可見時調用
onResume()。
在活動準備好和用戶交互時調用(此時活動必處於棧頂)
onPause()。
在系統準備去啓動或恢復另一個活動時被調用
onStop()。
在活動完全不可見時調用,如果啓動的是一個對話框,onStop不會被調用
onDestory()。
在活動被銷燬之前調用
onRestart()。
在活動由停止變爲運行狀態之前調用
demo: MainActivity、NormalActivity、DialogActivity
- 在MainActivity的onCreate方法中註冊啓動另外兩個Activity的點擊事件
- 運行程序。當MainActivity第一次被創建時會一次執行onCreate、onStart、onResume方法
- 點擊按鈕啓動NormalActivity。由於NormalActivity已經把MainActivity完全遮住,onPause、onStop方法被執行
- 按下Back鍵。由於之前MainActivity已經進入了停止狀態,所以onRestart被執行,接着onStart、onResume被執行。而onCreate不會被執行,因爲MainActivity沒有被重新創建
- 在點擊第二個按鈕啓動DialogActivity。onPause方法被執行,而onStop沒有被執行,因爲DialogActivity並沒有完全遮擋住MainActivity,此時MainActivity只是進入了暫停狀態,並沒有進入停止狀態。相應地,按下Back鍵也只有onResume方法被執行
- 在MainActivity按下Back鍵退出程序。會依次執行onPause、onStop、onDestroy,最終銷燬MainActivity