- 創建階段:
onCreate
方法被調用,用于初始化 Activity,如設置布局等。 - 啟動階段:依次調用
onStart
和onResume
方法,讓 Activity 變得可見并可與用戶交互。 - 暫停與恢復階段:當 Activity 失去焦點但可見時,
onPause
方法被調用,可用于保存臨時數據等;當 Activity 重新獲得焦點時,onResume
方法被調用,恢復相關操作。 - 停止與銷毀階段:當 Activity 完全不可見時,
onStop
方法被調用,可釋放一些資源;最后,onDestroy
方法被調用,用于徹底清理資源,如釋放內存等。
在安卓生命周期中,“Resume” 的意思是 “恢復”。當一個 Activity 從暫停狀態(比如用戶切換到其他應用后又切回該 Activity)重新回到前臺并獲得焦點,可與用戶進行交互時,就會調用onResume
方法,意味著 Activity 恢復到可正常運行的狀態。
首次啟動 Activity
當你啟動一個應用程序,對應的 Activity 首次顯示在屏幕上時,會依次調用以下生命周期方法:
- onCreate:應用程序啟動,系統創建 Activity 實例,此方法會被調用,用于初始化 Activity 的基本設置,如加載布局、初始化變量等。
- onStart:Activity 即將對用戶可見,系統調用此方法,做好展示準備。
- onResume:Activity 獲得焦點,可與用戶交互,此時 Activity 處于前臺運行狀態。
用戶按下 Home 鍵
當你在應用運行時按下手機的 Home 鍵,Activity 會進入后臺,此時會依次調用以下方法:
- onPause:Activity 失去焦點,但仍然可見,此方法用于暫停一些正在進行的操作,如暫停視頻播放、暫停動畫等。
- onStop:Activity 完全不可見,系統調用此方法,可在此釋放一些占用資源的對象。
用戶再次回到應用
在按下 Home 鍵使應用進入后臺后,當你再次打開該應用時,Activity 會從停止狀態重新啟動,依次調用以下方法:
- onRestart:Activity 從停止狀態重新啟動,此方法會被調用。
- onStart:Activity 再次變得可見。
- onResume:Activity 重新獲得焦點,可與用戶交互。
關閉 Activity
當你通過點擊返回鍵或者調用?finish()
?方法關閉當前 Activity 時,會依次調用以下方法:
- onPause:Activity 失去焦點。
- onStop:Activity 完全不可見。
- onDestroy:Activity 被銷毀,系統回收相關資源。
屏幕旋轉
當你旋轉手機屏幕時,Activity 會被銷毀并重新創建,依次調用以下方法:
- onPause:Activity 失去焦點。
- onStop:Activity 完全不可見。
- onDestroy:Activity 被銷毀。
- onCreate:系統重新創建 Activity 實例。
- onStart:Activity 即將可見。
- onResume:Activity 獲得焦點,可與用戶交互。
打開新的 Activity
當當前 Activity 啟動一個新的 Activity 時,當前 Activity 會進入后臺,依次調用以下方法:
- onPause:Activity 失去焦點,但仍然可見。
- onStop:Activity 完全不可見。