activity生命周期分析(两个activity之间跳转的生命周期执行顺序)

NoteMainActivity点击跳转至NoteListActivity

我们都了解:
当A界面点击进入B界面时,此时
        A===onPause--->onStop
        B===onStart--->onResume
B界面退出,A界面显示,此时 
        B===onPause--->onStop
        A===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。
NoteMainActivity进入

NoteMainActivity屏暗

NoteMainActivity屏亮:


NoteMainActivity------>NoteListActivity(点击跳转)


退出NoteListActivity,显示NoteMainActivity



退出NoteMainActivity


附一张avtivity的生命周期图:

State diagram for an Android Activity Lifecycle.




posted @ 2016-03-10 19:21  吹泡泡`OOO  阅读(1402)  评论(0编辑  收藏  举报