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的生命周期图:




来自为知笔记(Wiz)


你可能感兴趣的:(activity生命周期分析(两个activity之间跳转的生命周期执行顺序))