onSaveInstanceState() 和 onRestoreInstanceState()方法
来源:互联网 发布:金妍儿 知乎 编辑:程序博客网 时间:2024/05/22 02:28
Activity的 onSaveInstanceState() 和 onRestoreInstanceState()并不是生命周期方法,
它们不同于 onCreate()、onPause()等生命周期方法,它们并不一定会被触发。
当应用遇到意外情况(如:内存不足、用户直接按Home键)由系统销毁一个Activity时,onSaveInstanceState() 会被调用。
但是当用户主动去销毁一个Activity时,例如在应用中按返回键,onSaveInstanceState()就不会被调用。
因为在这种情况下,用户的行为决定了不需要保存Activity的状态。
通常onSaveInstanceState()只适合用于保存一些临时性的状态,而onPause()适合用于数据的持久化保存。
在activity被杀掉之前调用保存每个实例的状态,以保证该状态可以在onCreate(Bundle)或者onRestoreInstanceState(Bundle) (传入的Bundle参数是由onSaveInstanceState封装好的)中恢复。
这个方法在一个activity被杀死前调用,当该activity在将来某个时刻回来时可以恢复其先前状态。
例如,如果activity B启用后位于activity A的前端,在某个时刻activity A因为系统回收资源的问题要被杀掉,A通过onSaveInstanceState将有机会保存其用户界面状态,使得将来用户返回到activity A时能通过onCreate(Bundle)或者onRestoreInstanceState(Bundle)恢复界面的状态。
1、当用户按下HOME键时。
2、长按HOME键,选择运行其他的程序时。
3、按下电源按键(关闭屏幕显示)时。
4、从activity A中启动一个新的activity时。
5、屏幕方向切换时,例如从竖屏切换到横屏时。
至于onRestoreInstanceState方法,需要注意的是,onSaveInstanceState方法和onRestoreInstanceState方法“不一定”是成对的被调用的,(本人注:我昨晚调试时就发现原来不一定成对被调用的!)
- onSaveInstanceState() 和 onRestoreInstanceState()方法
- onSaveInstanceState() 和 onRestoreInstanceState()方法
- onSaveInstanceState()和onRestoreInstanceState()方法
- onSaveInstanceState和onRestoreInstanceState方法
- Activity的onSaveInstanceState()和 onRestoreInstanceState()方法
- Activity的onSaveInstanceState()和onRestoreInstanceState()方法
- Activity的onSaveInstanceState()和 onRestoreInstanceState()方法
- Activity的onSaveInstanceState()和 onRestoreInstanceState()方法
- Android Activity的onSaveInstanceState() 和 onRestoreInstanceState()方法
- Activity之onSaveInstanceState()和 onRestoreInstanceState()方法
- Android Activity的onSaveInstanceState() 和 onRestoreInstanceState()方法
- Android Activity的onSaveInstanceState() 和 onRestoreInstanceState()方法
- 缓存activity的方法:.onSaveInstanceState和onRestoreInstanceState
- onSaveInstanceState和onRestoreInstanceState
- onSaveInstanceState和onRestoreInstanceState
- onSaveInstanceState和onRestoreInstanceState
- onSaveInstanceState和onRestoreInstanceState
- onSaveInstanceState和onRestoreInstanceState
- Java面向对象练习-电话本管理系统
- 第十二章 多元线性回归
- 数据结构基础 之 循环链表
- 零知识证明
- c语言练习题 4-1 删数
- onSaveInstanceState() 和 onRestoreInstanceState()方法
- 循环队列
- 再散列操作
- 编译qt-extended-4.4.3的时候出现问题解决办法
- 获取电脑硬件信息
- 结构体和共用体关于内存的分配问题
- 类集相关
- 聊天界面的制作(一)——基本布局的实现
- cat proc/version在内核中是如何实现的?