Android 四大元件之 Activity生命週期
阿新 • • 發佈:2018-12-24
一、 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 被結束時呼叫,它是被結束時呼叫的最後一個方法,在這裡一
般做些釋放資源,清理記憶體等工作。
生命週期圖: