一:情况:当App从前台到后台,再玩打开一些其他的应用时,手机内存不足,自己的app还在后台,就会被手机回收数据(除了editText会自动保存,Google已经做了,其他都会清空)。 这个Activity的控件初始化,数据,静态变量都会被回收。存在本地的Sqlite数据和SharedPreferences的数据不会被回收。
二:解决:
1.onSaveInstanceState() 方法会被回调来保存数据状态当手机内存不足的时候,Activity的onSaveInstanceState()在onPause()和onStop()中间执行。
@Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
}
2.onSaveInstanceState() 方法来保存数据状态在手机内存不足,Activity的onSaveInstanceState()在onPause()和onStop()中间执行。
onRestoreInstanceState()方