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。
NoteMainActivity进入
NoteMainActivity屏暗
NoteMainActivity屏亮:
NoteMainActivity------>NoteListActivity(点击跳转)
退出NoteListActivity,显示NoteMainActivity
退出NoteMainActivity
附一张avtivity的生命周期图: