一、 Activity 的生命週期概念
Activity 的生命週期指的是, Activity 對象從被創建到銷燬的全過程
二、 Activity 的狀態
- 運行狀態( Running): 該狀態表示 Activity 可見並且擁有用戶焦點;
- 暫停狀態( Paused):如果 Activity A 被 Activity B 覆蓋了一部分,但是
Activity A 又是可見的,那麼 Activity A 就處於暫停狀態; - 停止狀態( Stop):如果 Activity A 被 Activity B 完全覆蓋,或者由於用戶
點擊 Home 按鈕導致 Activity A 處於後臺。那麼 Activity A 就處於停止狀
態; - Killed 狀態: 被系統殺死回收或者沒有被啓動時處於 Killed 狀態。
三、 Activity 生命週期的 7 個回調函數
- public void onCreate(Bundle savedInstanceState)
- 一個 Activity 的實例被啓動時調用的第一個方法。一般情況下,我們都覆蓋該方法作爲應用程序的一個入口點,在這裏做一些初始化數據、設置用戶界面等工作。大多數情況下,我們都要在這裏從 xml 中加載設計好的用戶界面。
setContentView(R.layout.activity_main);
- protected void onStart()
該方法在 onCreate() 方法之後被調用,或者在 Activity 從 Stop 狀態轉換爲 Active 狀態時被調用 - protected void onRestart ()
在 Activity 從 Pause 狀態轉換到 running 狀態時被調用。 - protected void onResume()
在 執行完 onStart()方法後被調用,獲得焦點,用戶可以點擊屏幕進行交互。 - protected void onPause()
當需要切斷 Activity 與用戶進行交互時被系統回調,失去焦點,用戶點擊無法交互。從 running 狀態轉換到 Pause 狀態。 - protected void onStop()
在 Activity 從 Pause 狀態轉換到 Stop 狀態時被調用。 - protected void onDestroy()
在 Active 被結束時調用,它是被結束時調用的最後一個方法,在這裏一
般做些釋放資源,清理內存等工作。
生命週期圖: