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对象中提取旧值,而不是从头开始创建它们。
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短