在使用onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState)
过程中,发现传入的值在横屏切竖屏,或竖屏切横屏时均没有正确传过去。重写的方法如下:
@Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
outState.putInt(account,sum);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
outPersistentState.putInt(account,sum);
}
}
在看到PersistableBundle引发的血案之后尝试重写了onSaveInstanceState(Bundle outState)
,发现有效,如下:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt(account,sum);
}
后续再整理下两个方法的使用。