论坛首页 移动开发技术论坛

Android日记之2012/02/04——ActivityGroup和Activity的生命周期关系

浏览 4770 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (5)
作者 正文
   发表时间:2012-02-04  
       今天写了一个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方法)。
   发表时间:2012-02-08  
为什么要这么设计呢?
0 请登录后投票
   发表时间:2012-02-08  
yoyoflash 写道
为什么要这么设计呢?

你是指用ActivityGroup么?如果用TabLayout的话,程序员对标签的定制不是很好,用ActivityGroup的话,直接把标签设为View,这样实现的效果比TabLayout好,而且功能也能实现。
0 请登录后投票
   发表时间:2012-02-08  
小朋友。别老发这个了,都被投隐藏了~
发到首版的技术含量得高些,版面有限。会限制其它想要学习的人的阅读
0 请登录后投票
   发表时间:2012-02-09  
sd6733531 写道
小朋友。别老发这个了,都被投隐藏了~
发到首版的技术含量得高些,版面有限。会限制其它想要学习的人的阅读

BSN
0 请登录后投票
   发表时间:2012-02-09  
sd6733531 写道
小朋友。别老发这个了,都被投隐藏了~
发到首版的技术含量得高些,版面有限。会限制其它想要学习的人的阅读

看了你的blog也没觉得你是’老朋友‘啊,反而觉得你是菜菜菜。。。
0 请登录后投票
   发表时间:2012-02-09  
唉,为什么老有人爱投隐藏呢?
0 请登录后投票
   发表时间:2012-02-13  
最近在公司要自己去实现一个ActivityGroup,请问需要注意哪些东西了?
0 请登录后投票
   发表时间:2012-02-13  
nrxqq 写道
最近在公司要自己去实现一个ActivityGroup,请问需要注意哪些东西了?

1、生命周期肯定是要注意的。
2、数据的实例化。
3、还有就是自己注意逻辑吧。
博客园中农民伯伯的一篇关于ActivityGroup的使用你可以先看看,我觉得对于第一次使用ActivityGroup的挺有帮助的
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics