问题描述:当A活动进入停止状态时,很有可能会被系统回收。这时,如果按Back键返回,那么A活动重新创建,临时数据清空。如果保存临时数据?
解决方案:通过重写Activity的onSaveInstanceState()回调方法进行临时数据保存,然后在onCreate()回调方法中获取临时数据即可。
@Override public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) { super.onSaveInstanceState(outState, outPersistentState); String tempData = "Something you just typed!"; outState.putString("tempData", tempData); }
@Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); supportRequestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_dialog); if (savedInstanceState != null) { String tempData = savedInstanceState.getString("tempData"); Log.e("SavedData", tempData); } }