我在这种方法中将数据存储到“outState”:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("my_int", mValue);
}
这意味着,当活动重新启动时,在该onCreate()
方法中,我可以执行以下操作:
if (null != savedInstanceState) {
savedInstanceState.getInt("my_int");
}
但是,这会导致屏幕关闭后出现问题。当屏幕关闭时,活动被终止。这意味着 onSaveInstanceState()
如果在屏幕关闭期间发生旋转,则不会调用它,并且它savedInstancestate
为 null,因为活动已完全重新启动。结果,即使设备已旋转,我的值也没有保存和恢复。
我该如何解决这个问题?