在应用的使用过程中遇到发生屏幕切换时,需要能恢复切换前的状态,给用户良好的体验效果,这就要求应用程序在切换屏幕的时候能保存当前的状态,这个需求通过重载activity的onSaveInstanceState方法和 onRestoreInstanceState方法即可实现。
重载onSaveInstanceState,这个方法在切换前被调用
@Overridepublic void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putParcelable("what", data); //保存数据
}
重载onRestoreInstanceState,这个方法的切换后被调用,用于恢复已保存的数据
@Overridepublic void onRestoreInstanceState(Bundle savedInstanceState) {
data= savedInstanceState.getParcelable("what");
}
恢复数据后即可按正常模式使用了。
Bundle可以保存很多类型的数据,int、String、数组、队列、以及对象。