Activity被系统杀死,数据的存储与恢复
来源:互联网 发布:mac三指拖动 编辑:程序博客网 时间:2024/05/21 08:57
1、保存数据的方法:onSaveInstanceState(Bundle outState)
触发条件:Activity未执行finish,比如按了home键,电源键,旋转Activity,内存不足等。这种数据保存都是临时的。如果想保存一些持久数据,用onPause
2、恢复数据的方法:onRestoreInstanceState(BundlesavedInstanceState)
触发条件:onSaveInstanceState已经触发,Activity被系统回收之后,再次打开。
3、恢复数据的方法:Create(Bundle savedInstanceState)
触发条件:创建Activity实例的时候
4、接下来,Activity里面,实践一下:
@Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putString("test","test数据"); Log.e("存储临时数据:","test数据"); } @Override protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); String test = savedInstanceState.getString("test"); Log.e("恢复临时数据:",test); }按HOME键,触发onSaveInstanceState,程序回到后台,等系统把Activity回收,再次打开,触发onRestoreInstanceState。
注意:如果想快速让系统回收Activity,打开手机设置,开发人员选项,开启不保留活动。
这样,用户按了Home键,系统就会回收Activity了。
5、同理Fragment里面
@Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); } @Override public void onViewStateRestored(@Nullable Bundle savedInstanceState) { super.onViewStateRestored(savedInstanceState); }只是恢复数据的方法名变了。
再说一遍,只适合保存临时数据,不能存持续化数据,否则数据可能会丢失,被系统回收。
阅读全文
0 0
- Activity被系统杀死,数据的存储与恢复
- Activity(View)的存储与恢复
- <Android>在Activity被非正常杀死并重建时,使用savedInstanceState进行数据恢复的简单实例
- 备份与数据恢复的存储过程
- activity异常被系统杀死处理方法
- 恢复系统回收activity中存在的数据和状态
- 后台的activity被系统自动回收的话,怎么在回到界面的时候恢复数据
- Activity意外杀死保存数据
- 保存和恢复activity的状态数据
- 保存和恢复activity的状态数据
- Activity的生命周期,异常恢复数据
- Activity的数据保存于恢复
- Activity 被关闭,如何恢复数据
- Activity之数据恢复
- Android开发之保存和恢复Activity的状态与数据
- Activity状态的保存与恢复
- 保存与恢复activity的状态
- 恢复删除的系统存储过程
- Android webView拦截url
- Android 初识
- HDU
- 设计模式的六大原则
- [LeetCode]513. Find Bottom Left Tree Value
- Activity被系统杀死,数据的存储与恢复
- 【Redis基础】服务器源码解析
- 501.Find Mode in Binary Search Tree(Tree-Easy)
- 剑指offer Java JVM基础
- Python3基础-运算符
- QT 的信号与槽机制介绍
- Dji Mobile SDK 基础实现(二)
- 遍历文件夹下所有文件
- C++程序员学Java系列之三二:数据结构之属性(Properties)