Android 状态信息的记录onPause和onSaveInstanceState
来源:互联网 发布:安卓装windows 编辑:程序博客网 时间:2024/05/22 05:26
Android开发中,状态信息的记录可以在onPause和onSaveInstanceState中进行。
一、这两者的调用时机如下:
1.onPause在activity不可见时每次都会调用。
2.onSaveInstanceState不是每次都会调用,调用时机是:activity意外退出或者有意外退出的可能性,这样系统有可能之后需要帮助重建这个activity,因此调用这个函数把状态信息保留下来。
具体为以下几种(参考网上总结):
因此,当按返回键或调用finish方法退出时,是正常退出,系统之后不需要重建这个activity。即该activity再次创建时,是个崭新的,不需要记录之前的状态,因此不会调用这个函数。
注意:与onPause的调用顺序不一定,但是一定是在onStop之前调用。
二、使用
1.onPause:一般用于正常跳转逻辑中,为开发者保存数据。我们可以在onPause中保存数据,在onResume中恢复数据。例如:查看列表详情,我们返回列表时需要记住列表的阅读位置。一般用于保存持久化数据,但不适合保存比较费时的数据。
2.onSaveInstanceState一般用于配置发生变化,为用户保存数据。例如:横竖屏切换。一般用于保存瞬态数据,如UI控件的状态, 成员变量的值等。
注意:①与onSaveInstanceState搭配使用的是onRestoreInstanceState方法,但是这个方法不是一定被调用,只有该activity确实被销毁了,重建时才会调用,在 onResume() 方法之前保存信息,该Bundle参数也会被传入onCreate中。
②关于默认的 super.onSaveInstanceState(outState) : 该默认的方法是实现 组件状态保存的;每个组件都 实现了 onSaveInstance() 方法, 在调用函数的时候, 会自动保存组件的状态, 注意, 只有有 id 的组件才会保存;如果需要保存其他数据,需要重写该方法。
- Android 状态信息的记录onPause和onSaveInstanceState
- Android onSaveInstanceState和onpause的区别
- Android onPause和onSaveInstanceState的区别
- Android—— onPause和onSaveInstanceState的区别
- Android中onSaveInstanceState(Bundle outState)与OnPause()的区别
- 运用onPause()和onSaveInstanceState保存数据
- activity中的onPause()和onSaveInstanceState()解析
- 运用onPause()和onSaveInstanceState保存数据 -
- activity中的onPause()和onSaveInstanceState()解析
- activity中的onPause()和onSaveInstanceState()解析
- Android--状态保存--onSaveInstanceState和onRestoreInstanceState的作用
- onSaveInstanceState、onRestoreInstanceState与onPause、onResume的区别
- Activity的生命周期中onPause()方法和onSaveInstanceState(Bundle outState)方法比较
- Android onPause和onStop的比较
- Android Fragment真正的onResume和onPause
- android 状态保存onSaveInstanceState
- onPause() v.s. onSaveInstanceState()
- 【Android】Activity onSaveInstanceState onPause之前(<3.0) onStop之前(3.0<=)
- python入门
- 欢迎使用CSDN-markdown编辑器
- 配置Tomcat使用https协议(配置SSL协议)
- 使用Xcode和Instruments调试解决iOS内存泄露
- Android中泡泡窗口二级筛选效果
- Android 状态信息的记录onPause和onSaveInstanceState
- linux基本操作
- Sql Server数据库中char、nchar、varchar、nvarchar区别
- 数据结构实验之串二:字符串匹配
- 分享一个直接加QQ好友的链接或会话的
- C#入门7.10——ArrayList类中元素的删除
- 在VC中用CMarkup类操纵XML___
- bzoj2049: [Sdoi2008]Cave 洞穴勘测
- R语言中的data.frame数据索引