Android中ActivityGroup和Activity的生命週期關係

今天寫了一個Demo,來測試了一下ActivityGroup和Activity的生命週期。
其實,Activity的生命週期已經沒什麼好說的了,這要是Android入了門的都應該知道。主要是ActivityGroup的生命週期以及ActivityGroup和Activity並存的時候生命週期的改變。
ActivityGroup的生命週期的方法就onCreat()、onResume()、onPause()、onStop()、onDestroy()5個方法,運行順序和Activity的相同。


我創建了一個ActivityGroup和3個Activity(A、B、C)。程序運行後,首先執行的是Group的onCreat、onStart、 onResume方法,由於3個Activity全部通過onClick事件來調用的,所以,接下來就是點擊那個控件,就跳到相應的Activity,並 且執行當前Activity的onCreat、onStart、onResume方法。

當點擊其他控件做跳轉的時候,執行上一個Activity的onPause方法和當前Activity的onCreat和onResume方法,但是,不 會執行上一個 Activity的onStop方法(Intent直接跳轉Activity的話,執行完新的Activity的onCreat和onResume方法 後,會執行舊Activity的onStop方法)。
比如說先點擊跳轉到A,再切換到B,正如上文說的執行。但是,接下來當我從B再回到A的時候,程序會先執行原來的A 的onStop和onDestroy方法。然後在執行A的onCreat、onStart、onResume方法(一般的Intent回上一個 Activity的時候,並不會把原來的onDestroy再新建一個的)。

整個Group在Activity的切換過程中不受任何影響。

當點擊返回按鈕的時候,所執行的並不是Activity回到上一個Activity,而是退出了整個的ActivityGroup。

執行順序爲:
  1、 執行當前Activity和ActivityGroup的onPause方法。
  2、 執行當前已經創建過的所有Activity和ActivityGroup的onStop(先Activity的onStop方法)。
  3、 執行當前已經創建過的所有Activity和ActivityGroup的onDestroy(先Activity的onDestroy方法)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章