Android Activity中状态保存机制
在Activity中保存用户的当前操作状态,如输入框中的文本,一般情况下载按了home键后,重新进入文本框中的东西会丢下,所以我们要保存当前页面信息,如在写短信的时候接到一个电话,那么当你接电话的时候短信界面就会别隐藏,那么我们希望接完电话后可以继续编辑短信,就需要保存状态。使用办法:
重写Activity中的onSaveInstanceState(Bundle outState)和onRestoreInstanceState(Bundle savedInstanceState)方法,步骤为:(1)在离开页面的时候用onSaveInstanceState中的outState可以保存你所需要的值,(2)在重新回到该页面的时候可以使用onRestoreInstanceState从saveInstanceState中获取保存过得值来重新初始化界面。
从android的API文档可以知道,onSaveInstanceState是在OnStop之前执行,onRestoreInstanceState在OnStart后执行,因此如果是Activity销毁过后的话再启动数据就没有保存了,即在finish或用户按下Back后,该功能就失效了。一般用在当前Activity被其他Activity覆盖和按Home键后重新进入该Activity的时候。
实例代码如下:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
// save the current data, for instance when changing screen orientation
outState.putSerializable("dataset", mDataset);
outState.putSerializable("renderer", mRenderer);
}
@Override
protected void onRestoreInstanceState(Bundle savedState) {
super.onRestoreInstanceState(savedState);
// restore the current data, for instance when changing the screen
// orientation
mDataset = (XYMultipleSeriesDataset) savedState.getSerializable("dataset");
mRenderer = (XYMultipleSeriesRenderer) savedState.getSerializable("renderer");
}
转载于:https://www.cnblogs.com/gisdream/p/3177432.html
Android Activity中状态保存机制相关推荐
- MTK平台Android 安全中secure boot机制
一.相关名词解释 1.公钥:通俗来说,公钥就是公开的密钥,是私钥拥有者公开的,公钥通常用于加密会话密钥.验证数字签名,或加密可以用相应的私钥解密的数据. 2.私钥:私有的钥匙,不会公开,私钥加密又称为 ...
- epoll监听文件_介绍一下 Android Handler 中的 epoll 机制?
介绍一下 Android Handler 中的 epoll 机制? 目录: IO 多路复用 select.poll.epoll 对比 epoll API epoll 使用示例 Handler 中的 e ...
- Dalvik/ART(ANDROID)中的多线程机制(3)
封装任务 Message 在整个消息处理机制中,message又叫task,封装了任务携带的信息和处理该任务的handler.message的用法比较简单,这里不做总结了.但是有这么几点需要注意(待补 ...
- Activity具体解释(生命周期、以各种方式启动Activity、状态保存,全然退出等)...
一.什么是Activity? 简单的说:Activity就是布满整个窗体或者悬浮于其它窗体上的交互界面.在一个应用程序中通常由多个Activity构成,都会在Manifest.xml中指定一个主的Ac ...
- Activity详细解释(生命周期、以各种方式启动Activity、状态保存,等完全退出)...
一.什么是Activity? 简单的说:Activity或者悬浮于其它窗体上的交互界面. 在一个应用程序中通常由多个Activity构成.都会在Manifest.xml中指定一个主的Activity, ...
- Dalvik/ART(ANDROID)中的多线程机制(2)
Android消息处理机制(二) 角色综述(回顾): (1)UI thread通常就是main thread,而Android启动程序时会替它建立一个MessageQueue. (2)当然需要一个Lo ...
- Dalvik/ART(ANDROID)中的多线程机制(1)
Google参考了Windows的消息处理机制,在Android系统中实现了一套类似的消息处理机制.学习Android的消息处理机制,有几个概念(类)必须了解: 1. Message 消息 ...
- Android应用中通过AIDL机制实现进程间的通讯实例
Android中,每个应用程序都有自己的进程,当需要在不同的进程之间传递对象时,该如何实现呢?显然,Java中是不支持跨进程内存共享的,因此要传递对象,需要把对象解析成操作系统能够理解的数据格式,以达 ...
- Activity的状态保存
当点击home键或程序运行过程中突然来电话等意外情况或屏幕方向改变时,会调用onSaveInstanceState()方法进行保存数据到手机硬盘上,再次运行Activity时则调用onRestoreI ...
最新文章
- c++ 判断文件夹是否存在,不存在则创建(可建多级目录)
- thymeleaf 学习笔记
- C 语言中的内存分析
- 鼠标右键 移动选定的文件夹到指定位置_iRightMouse:一款免费Mac鼠标右键增强神器...
- [JavaWeb-HTTP]HTTP_请求消息_请求头请求体
- IIS不能发布asp.net 应用程序
- LeetCode 1293. 网格中的最短路径(DP/BFS)
- Java面向对象设计原则
- P1629 邮递员送信(正反向建图 or 暴力)
- 钉钉机器人自动回复消息_如何利用闲鱼助手,真正实现全自动消息回复,做到效率最大化...
- Hue添加Spark notebook
- PHP范例完全自学手册pdf
- HDU1757(矩阵快速幂+简单的矩阵构造)
- html查看蛋白质,怎么查询蛋白质的全部信息-- UniProKB数据库
- 计算机术语pc是什么意思,pc_pc是什么意思-太平洋IT百科
- Java 提取PDF图片(pdfbox)Extract PDF document images
- Linux安装expect
- 不可注册为ActiveX控件
- makefile 的error looser throw specifier for ‘virtual ExceptionWithIflag::~ExceptionWithIflag
- verilog学习笔记- 10)按键控制 LED 灯实验
热门文章
- 【Tensorflow】深度学习实战03——Tensorflow实现AlexNet
- leetcode - 221. 最大正方形
- C++/C--二分查找之lower_bound( )和upper_bound( )【转载】
- Opencv--Mat类型ROI的设置
- Unity5 Sprite 图集打包 AssetBundle 更新探索
- 设计模式学习笔记——建造者(Builder)模式
- cmd指令大全指令_汇编语言常用指令大全
- 上海师范大学计算机技术考研分数线,上海师范大学2019年考研复试分数线已公布...
- 【tool】kali linux关于postgresql的使用
- 计算机组成相关论文,计算机组成与结构课程论文.docx