activity生命周期分析(两个activity之间跳转的生命周期执行顺序)
NoteMainActivity点击跳转至NoteListActivity
我们都了解:
当A界面点击进入B界面时,此时A===onPause--->onStopB===onStart--->onResumeB界面退出,A界面显示,此时B===onPause--->onStopA===onRestart--->onStart--->onResume
问:但是,是执行A的生命周期执行完再执行B的生命周期吗?或者B的执行完再执行A的吗?
答:不。 实际是
当A界面点击进入B界面时,此时onPause(A)--->onStart(B)--->onResume(B)--->onStop(A)B界面退出,A界面显示,此时onPause(B)---> onRestart(A)---> onStart(A)--->onResume(A)--->onStop(B)
问:有什么实际应用呢?
答:举个例子。A界面需要从数据库请求数据,展示在界面上。B界面的操作会影响A界面的数据。从B界面返回到A界面需要重新请求数据,进行界面展示。
此时,B界面应该在哪里进行数据的提交。A界面在哪里进行数据的读取。
在B界面的onPause进行数据的存储。
在A界面的onRestart进行数据的读取渲染
下面是我实际打印的log。
![](https://images2015.cnblogs.com/blog/891006/201603/891006-20160310192113569-1279662859.png)
![](https://images2015.cnblogs.com/blog/891006/201603/891006-20160310192113991-919415248.png)
![](https://images2015.cnblogs.com/blog/891006/201603/891006-20160310192114382-1460250663.png)
![](https://images2015.cnblogs.com/blog/891006/201603/891006-20160310192114757-1544986696.png)
![](https://images2015.cnblogs.com/blog/891006/201603/891006-20160310192115163-81509204.png)
![](https://images2015.cnblogs.com/blog/891006/201603/891006-20160310192115710-1581097795.png)
![State diagram for an Android Activity Lifecycle.](https://images2015.cnblogs.com/blog/891006/201603/891006-20160310192116319-304219292.png)
NoteMainActivity进入
![](https://images2015.cnblogs.com/blog/891006/201603/891006-20160310192113569-1279662859.png)
NoteMainActivity屏暗
![](https://images2015.cnblogs.com/blog/891006/201603/891006-20160310192113991-919415248.png)
NoteMainActivity屏亮:
![](https://images2015.cnblogs.com/blog/891006/201603/891006-20160310192114382-1460250663.png)
NoteMainActivity------>NoteListActivity(点击跳转)
![](https://images2015.cnblogs.com/blog/891006/201603/891006-20160310192114757-1544986696.png)
退出NoteListActivity,显示NoteMainActivity
![](https://images2015.cnblogs.com/blog/891006/201603/891006-20160310192115163-81509204.png)
退出NoteMainActivity
![](https://images2015.cnblogs.com/blog/891006/201603/891006-20160310192115710-1581097795.png)
附一张avtivity的生命周期图:
![State diagram for an Android Activity Lifecycle.](https://images2015.cnblogs.com/blog/891006/201603/891006-20160310192116319-304219292.png)