歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android基礎知識:ActivityGroup和Activity的生命周期關系

Android基礎知識:ActivityGroup和Activity的生命周期關系

日期:2017/3/1 10:34:27   编辑:Linux編程

今天寫了一個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方法)。

Copyright © Linux教程網 All Rights Reserved