Android onSaveInstanceState()

时间:2023-12-26 17:23:01

我们知道,由于手机的内存问题,很容易造成切换activity之后上一个activity被回收的情况,虽然我们按下back按键的时候,还是能够回到上一个activity,但是此时我们并不是执行的onRestart();方法,而是执行的onCreate();方法,也就是说返回的activity是重新创建的,那我们之前输入的数据肯定就没有,这个时候就比较烦乱.不过还好,因为我能有onSaveInstanceState();方法.

@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
String data="I was very happy, I came back.";
outState.putString("data", data);
}

我们将要保存的数据使用put的形式放入一个Bundle类型的数据中.

然后当我们的activity再次创建调用onCreate();方法的时候.我们可以将它取出.

if (savedInstanceState!=null) {
Log.i("data", savedInstanceState.getString("data"));
}