1. 程式人生 > >Android 四大元件之 Activity生命週期

Android 四大元件之 Activity生命週期

一、 Activity 的生命週期概念

Activity 的生命週期指的是, Activity 物件從被建立到銷燬的全過程

二、 Activity 的狀態

  1. 執行狀態( Running): 該狀態表示 Activity 可見並且擁有使用者焦點;
  2. 暫停狀態( Paused):如果 Activity A 被 Activity B 覆蓋了一部分,但是
    Activity A 又是可見的,那麼 Activity A 就處於暫停狀態;
  3. 停止狀態( Stop):如果 Activity A 被 Activity B 完全覆蓋,或者由於使用者
    點選 Home 按鈕導致 Activity A 處於後臺。那麼 Activity A 就處於停止狀
    態;
  4. Killed 狀態: 被系統殺死回收或者沒有被啟動時處於 Killed 狀態。

三、 Activity 生命週期的 7 個回撥函式

  1. public void onCreate(Bundle savedInstanceState)
  2. 一個 Activity 的例項被啟動時呼叫的第一個方法。一般情況下,我們都覆蓋該方法作為應用程式的一個入口點,在這裡做一些初始化資料、設定使用者介面等工作。大多數情況下,我們都要在這裡從 xml 中載入設計好的使用者介面。
    setContentView(R.layout.activity_main);
  3. protected void onStart()
    該方法在 onCreate() 方法之後被呼叫,或者在 Activity 從 Stop 狀態轉換為 Active 狀態時被呼叫
  4. protected void onRestart ()
    在 Activity 從 Pause 狀態轉換到 running 狀態時被呼叫。
  5. protected void onResume()
    在 執行完 onStart()方法後被呼叫,獲得焦點,使用者可以點選螢幕進行互動。
  6. protected void onPause()
    當需要切斷 Activity 與使用者進行互動時被系統回撥,失去焦點,使用者點選無法互動。從 running 狀態轉換到 Pause 狀態。
  7. protected void onStop()
    在 Activity 從 Pause 狀態轉換到 Stop 狀態時被呼叫。
  8. protected void onDestroy()
    在 Active 被結束時呼叫,它是被結束時呼叫的最後一個方法,在這裡一
    般做些釋放資源,清理記憶體等工作。
    生命週期圖:
    這裡寫圖片描述