活动被回收
2016-04-16 20:21
375 查看
问题:由于内存不足,出于停止状态的活动被回收,当按下返回键时,被回收掉的活动需要重新加载,重新调用onCreate()方法,这时用户之前的操作存储的数据将被销毁。给用户不好的体验。
解决办法:
解决办法:
package com.xiaoxu.administrator.smallexample1; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import java.util.ArrayList; /** * Created by Administrator on 2016/4/16. */ public class Second extends AppCompatActivity { /** * 由于系统内存不足,该活动回收。 * onSaveInstanceState()方法,可以保证系统在回收之前,该方法会被调用,我们只需要将要保存的数据存储到Bundle对象中。 * */ @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putInt("saveInt",10); outState.putStringArrayList("arrayList",new ArrayList<String>()); } /** * 若是该活动被回收,在重新启动,执行onCreate(Bundle saveInstanceState)时, * 回收之前保存的数据将存储其中 saveInstanceState,我们只需要将数据从中取出, * 并恢复。 * */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if(savedInstanceState != null){ savedInstanceState.getInt("saveInt",0); savedInstanceState.getStringArrayList("arrayList"); } } }
相关文章推荐
- 【Bestcoder #79 div1】C
- 写了 35 年代码的老程序员的最大遗憾
- cout,print,printf 和sprintf的区别
- 学习笔记(一)Android 的简介
- 完美数列(25)
- 牛刀小试(一):垂直菜单
- NFA
- [网络编程]——网络编程_TCP_Socket通信
- leetcode 102.Binary Tree Level Order Traversal-数的层次遍历|递归|非递归实现
- 机器学习【machine learning】学习笔记【1】
- ubuntu系统qt中播放音频和视频遇到的问题及解决方法
- NOIP2008普及组传球游戏(动态规划)——yhx
- Match the string--hdu1797(模拟)
- java 版的复利计算器(张俊毅 周修文)
- UVa 1590 IP Networks
- Web工程目录和tomcat目录
- ajaxSubmit() 上传文件和进度条显示
- C++之类的六个默认成员函数
- 快速幂 快速乘法
- oil deposits——广搜