Android日记之2012/02/04——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方法)。

你可能感兴趣的:(android)