场景:
应用中有一个活动A,用户在活动A的基础上启动了活动B,活动A就进入了停止状态,这个时候由于系统内存不足,将活动A回收掉了,然后用户按下Back键返回活动A,会重新执行活动A的oncreat()方法,但是活动A中的临时数据就消失了。
解决方法:
活动A添加如下代码
//保存数据
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
String tempData="something you just type";
outState.putString("data_kay",tempData);
}
//恢复数据 修改oncreate()方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("MainActivity","oncreat");
setContentView(R.layout.activity_main);
if (savedInstanceState != null) {
String tempData=savedInstanceState.getString("data_kay");
Log.d("MainActivity",tempData);
}
}