Activity生命周期

梳理常见的交互下Activity的生命周期的执行顺序。

启动FirstActivity至界面可见

1
2
3
D/FirstActivity: ----onCreate--->
D/FirstActivity: ----onStart--->
D/FirstActivity: ----onResume--->

按物理返回键退出FirstActivity

1
2
3
D/FirstActivity: ----onPause--->
D/FirstActivity: ----onStop--->
D/FirstActivity: ----onDestroy--->

按Home键退出FirstActivity

1
2
D/FirstActivity: ----onPause--->
D/FirstActivity: ----onStop--->

启动FirstActivity,然后再跳转至SecondActivity

1
2
3
4
5
6
7
8
D/FirstActivity: ----onCreate--->
D/FirstActivity: ----onStart--->
D/FirstActivity: ----onResume--->
D/FirstActivity: ----onPause--->
D/SecondActivity: ----onCreate--->
D/SecondActivity: ----onStart--->
D/SecondActivity: ----onResume--->
D/FirstActivity: ----onStop--->
注意:FirstActivity的onPause先于SecondActivity的onCreate方法执行,为了提高跳转效率,建议不要在onPause做过多耗时操作。

按返回键从SecondActivity回到FirstActivity

1
2
3
4
5
6
D/SecondActivity: ----onPause--->
D/FirstActivity: ----onRestart--->
D/FirstActivity: ----onStart--->
D/FirstActivity: ----onResume--->
D/SecondActivity: ----onStop--->
D/SecondActivity: ----onDestroy--->
Activity的完整生命周期