一、Two是普通的Activity,能够完全挡住One
1.当One初始化的时候
onCreate(One)--> onStart(One)--> onResume(One)
2.当从One跳到 Two的时候
onPause(One) --> onCreate(Two) --> onStart(Two) -->onResume(Two) --> onStop(One)
3.按了back(返回),会销毁Two,重新显示One
onPause(Two) --> onRestart(One) --> onStart(One) -->onResume(One) --> onStop(Two) -->onDestroy(Two)
4.再按一次back(返回),会销毁One
onPause(One) --> onStop(One) --> onDestroy(One)
二、Three是对话框形式的Activity 或者 是透明的activity,不能完全挡住One
1.当One初始化的时候
onCreate(One) --> onStart(One) -->onResume(One)
2.当从One跳到 Three的时候
onPause(One) --> onCreate(Three) -->onStart(Three) -->onResume(Three)
3.按了back(返回),会销毁Three,重新显示One
onPause(Three) --> onResume(One) -->onStop(Three) -->onDestroy(Three)
4.再按一次back(返回),会销毁One
onPause(One) --> onStop(One) -->onDestroy(One)
三、生命周期总结
1.一个activity的完整生命周期
onCreate(创建生命) --> onStart(完全可见) --> onResume(获取焦点,开始跟用户进行交互)
↓如果要销毁了
onDestroy(失去生命) <-- onStop(完全不可见) <-- onPause(失去焦点,停止跟用户进行交互)
2.可见循环
onSatrt --> onResume --> onPause --> onStop --> onRestart --> onStart
3.焦点循环
onResume --> onPause --> onResume
4.当系统内存不足的时候,自己的activity可能会被系统自动销毁并回收,这时候系统就会调用onSaveInstanceState让用户保存临时数据,并把数据保存到Bundle outSate中。当重新创建activity的时候,就会将Bundle outSate传到onCreate中
5.其实onSaveInstanceState只适合保存一些临时数据,保险起见,应该在onPause里面保存activity的状态