onCreate(Bundle savedInstanceState)
onRestoreInstance(Bundle savedInstanceState):参数都是onSaveInstanceState中保存的数据,onRestoreInstanceState被调用的前提是,activity A“确实”被系统销毁了,而如果仅仅是停留在有这种可能性的情况下,则该方法不会被调用,
onSaveInstanceState
What :主要目的是保存和 Activity 的状态有关的数据
How:保存所有有id的控件的数据和状态
When:调用时机:系统认为该Activity可能需要被恢复的情况,不是主动销毁
1.A->B ,会调用A的onSaveInstanceState
2.按Home键
3.按电源键,屏幕熄灭
4.屏幕旋转销毁重建
不调用:
- 返回键
2.主动finish
onPause:保存需要持久化的数据
onDestroy:App被系统异常杀死的情况下不调用
启动模式:
Activity栈:前台栈,后台栈 ; 栈由 taskAffinity指定
Standards:被哪个Activity启动,就和该Activity在一个task栈里
SingleTask:⚠️栈内复用,同一个应用程序中复用时清除其上所有Activity;被其他应用程序启动,则会新建一个task 创建新实例
在栈顶:onPause -- >onNewIntent---> onResume;
不在栈顶:onRestart --->onStart--->onNewIntent---> onResume
SingleTop:栈顶复用
栈顶:onPause -- >onNewIntent---> onResume
SingleInstance:自己独享一个栈。
网友评论