Activity 生命週期
生命週期方法 | 調用時機 |
---|---|
OnCreate | 在 Activity 物件被第一次創建時調用,及通常用來做程式的初始化動作。 |
OnStart | 當 Activity 變得可見時調用該方法。 |
OnResume | 當 Activity開始準備使用戶交互時調用該方法。 |
OnPause | 系統即將啟動另外一個 Activity 時調用該方法。 |
OnStop | 當前 Activity 變得不可見時調用該方法。 |
OnDestory | 當前 Activity 被銷毀之前調用該方法。 |
OnRestart | 當一個 Activity 再次啟動之前就會調用該方法。 |
- Activity 的生命週期方法微系統自行調用,而非開發人用去控制,開發人員可於方法內填入所要執行的程序。
- Android Application 遵循的動作流程:
-
一般啟動
onCreate
->onStart
->onResume
啟動一個 Activity 的基本流程:分配資源給這個 ActivityOnCreate
,然後將 Activity 內容顯示到螢幕上OnStart
,在一切就緒後,取得螢幕的控制權OnResume
,使用者開始使用程式。 -
呼叫另一個 Activity
OnPause(1)
->OnCreate(2)
->OnStart(2)
->OnResume(2)
->OnStop(1)
先暫停原本 Activity 1,直到 Activity 2 完成一般啟動流程後,Activity 1 才會被停止。 -
回復原 Activity
OnPause(2)
->OnRestart(1)
->OnStart(1)
->OnResume(1)
->OnStop(2)
->OnDestory(2)
按返回鍵可以回到原本 Activity。 -
退出 / 結束
OnPause
->OnStop
->OnDestory
如果程式中直接呼叫finish()
方法來關閉 Activity 的話,系統會暫停onPause
後,停止OnStop
,然後才銷毀OnDestory
-
回收後再啟動
被回收掉的 Activity 一旦又重新被呼叫時,會像一般啟動一樣再次呼叫 Activity 的OnCreate
方法
-