Activity的生存周期中,当创建secondActivity,使firstActivity不可见,若此时内存不够,则会关闭不可见的activity,为防止Activity意外关闭,造成数据丢失,可在Activity关闭之前,保存Activity上的数据。
保存方法,重写下面的方法:
保存方法,重写下面的方法:
@Override
protected void onSaveInstanceState(Bundle outState) {//保存实例状态,即是保存Activity的数据
super.onSaveInstanceState(outState);
String saveData = "the String you need to save";
outState.putString("String_key", saveData);
}
saveInstanceState,即是Activity启动时调用的onCreate(Bundle savedInstanceState)的参数。所以,恢复数据时,在onCreate()函数中实现。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState != null) {
String receiveData = savedInstanceState.getString("String_key");
}
}
}