Activity生命周期保存参数onSaveInstanceState()与onRestoreInstanceState()
来源:互联网 发布:古诗下载软件 编辑:程序博客网 时间:2024/04/30 16:42
在读android API Guides时看到关于Activity生命周期以及利用onSaveInstanceState()方法保存非持久数据,记录短暂的状态;笔者经过试验大致总结了:
首先,当开发者需要调用onSaveInstanceState()方法的情况是在用户没有明确操作退出应用,以及系统不能确定是否回收,合适回收,主要以下几种情况:
- 在当前avtivity按Home键
- 关闭屏幕显示
- 在当前Activity打开新的activity 以上情况均是: 用户没有明确要退出程序,关闭avtivty 系统也不能明确合适回收以及销毁activity
在这种情况android系统对于组件的设置会自动的调用onSaveInstanceState()方法保存记忆,比如checkbox的选择状态等等;
注意:但是如果view组件没有指定id,且程序在非用户明确退出操作的情况下,(例如屏幕的旋转)是不会保存view组件的状态改变。实际上,由于系统配置configuration改变,则activity会被销毁重新创建,则需要配合
onRestoreInstanceState()或者oncreat()中重新恢复装填。当用户在activity 暂停以后,需要保存一些非持久的数据的时候可以通过回调onSaveInstanceState()方法去存储,在activity下次刷新重启或者创建的时候通过Bundle将数据拿出来。
实际上,avitivity生命周期中也会回调onSaveInstanceState()和onRestoreInstanceState();优化activity确保按照正常逻辑运行。对于存储的暂时数据,也可以通过调用oncreat()方法,判断传入的Bundle是否为空(初次启动为空,如果不判断,程序不能正常启动),不为空则可以从中用getXXX方法拿出数据。
> Bundle类是一个key-value数据结构,可以存取基本的数据类型。
0 0
- Activity生命周期保存参数onSaveInstanceState()与onRestoreInstanceState()
- Android 状态保存 生命周期 onSaveInstanceState onRestoreInstanceState 方法
- Activity的生命周期onSaveInstanceState onRestoreInstanceState 两个方法
- Activity生命周期之onSaveInstanceState和onRestoreInstanceState
- Activity状态保存【onSaveInstanceState和onRestoreInstanceState】
- Activity生命周期的保存,其中onSaveInstanceState和onRestoreInstanceState触发的时机
- 关于当前activity被kill后数据的保存,onSaveInstanceState 与onRestoreInstanceState 的联系
- Activity-onSaveInstanceState()、onRestoreInstanceState() 分析
- Android Activity生命周期以及onSaveInstanceState、onRestoreInstanceState要点备忘
- Android Activity生命周期以及onSaveInstanceState、onRestoreInstanceState要点备忘
- Activity/View状态保存和恢复 onSaveInstanceState()和onRestoreInstanceState()
- onSaveInstanceState与onRestoreInstanceState
- 关于onSaveInstanceState与onRestoreInstanceState
- onSaveInstanceState与onRestoreInstanceState应用
- Android onSaveInstanceState与onRestoreInstanceState
- Android保存状态(onSaveInstanceState)与恢复状态(onRestoreInstanceState)
- Android onSaveInstanceState、onRestoreInstanceState保存数据
- Activity的 onSaveInstanceState() 和 onRestoreInstanceState()
- Django中错误:django.core.exceptions.ImproperlyConfigured: ***DEFAULT_INDEX_TABLESPACE解决方
- 生成二维码图片
- 死亡通知与进程异常退出;ANR与进程重启后状态跟之前不对
- Nginx日志参数
- JQuery自定义动画animate方法
- Activity生命周期保存参数onSaveInstanceState()与onRestoreInstanceState()
- Exception in thread "main" java.lang.NoClassDefFoundError: goetl/etl/Ip2Plac
- node.js学习笔记之安装详解
- STL
- opencv常用数据类型的转换(个人整理)
- Rmaps Ext离线地图文件制作教程及工具
- LeetCode Count and Say
- SQL Server中临时表与表变量 游标
- lua表达式(Expressions)