Android Activity 生命周期

官网生命周期图如下:

 下面介绍一种比较常见的情况:

两个Activity,一个A一个B,这两个Activity都复写了所有声明周期方法并在方法中输出A/B+生命周期函数名。A中有一个按钮可以启动B。

情况1:

A启动,通过A中的按钮B启动:

A onCreate -> A onStart -> A onResume -> A onPause -> B onCreate -> B onStart -> B onResume -> A onStop -> B ...

也就是说,A启动B时,在A onPause方法执行时,B的所有初始化方法都会执行,在B的这些方法执行完毕后,A onStop才会执行。

情况2:

情况1是在B不透明,A不可见的条件下的一种情况,那么同样的操作,如果B是透明比如以对话框的形式来呈现,并没有完全遮住A,则是:

   A onCreate -> A onStart -> A onResume -> A onPause -> B onCreate -> B onStart -> B onResume -> B onPause -> A onResume -> B onStop - > B onDestory -> A...

  也就是说,在B关闭的时候,会先执行B onPause再让A复原,因为A没有Stop掉,所以直接Resume,最后B onStop、B Destroy。

posted @ 2015-05-24 11:46  RainFool  阅读(111)  评论(0编辑  收藏  举报