Android中保存临时数据避免被回收(记录)

问题描述:当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);
    }
}

猜你喜欢

转载自blog.csdn.net/lpCrazyBoy/article/details/88200451