Android 在修剪内存时保存数据
示例
public class ExampleActivity extends Activity {
private final static String EXAMPLE_ARG = "example_arg";
private int mArg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_example);
if(savedInstanceState != null) {
mArg = savedInstanceState.getInt(EXAMPLE_ARG);
}
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt(EXAMPLE_ARG, mArg);
}
}说明
那么,这里发生了什么?
Android系统将始终努力清除尽可能多的内存。因此,如果您的活动降到了后台,而另一个前台活动要求分享,那么Android系统会调用onTrimMemory()您的活动。
但这并不意味着您所有的财产都应消失。您应该做的就是将它们保存到Bundle对象中。捆绑对象在内存方面要好得多。在包中,每个对象都由唯一的文本序列标识-在上面的示例中,整数值变量mArg以引用名称保存EXAMPLE_ARG。并且当重新创建活动时,请从Bundle对象中提取旧值,而不是从头开始创建它们。
热门推荐
7 简短的二胎祝福语
10 简短霸气女儿生日 祝福语
11 祝福语高考小众诗句简短
12 元旦祝福语20秒简短
13 老师过年祝福语大全 简短
14 一生祝福语简短
15 产检祝福语简短霸气
16 朋友店开张祝福语简短
17 生日爱情祝福语大全简短
18 朋友女儿生日祝福语 简短