Android保存及恢复Activity的状态
Android保存Activity状态有两种方式:activity保存以及持久化保存。
这里主要介绍activity保存。
保存Activity状态
基于Activity保存状态需要重写onSaveInstanceState(Bundle savedInstanceState)方法。
示例:
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putBoolean("isLogged", true);
savedInstanceState.putInt("count", 1);
savedInstanceState.putString("message", "欢迎回来");
}
savedInstanceState Bundle类提供了键值对的方法存放特定类型的数据,如例子里的putInt(),putBoolean()等等。
恢复Activity状态
恢复Activity状态,主要是在onCreate()方法或onRestoreInstanceState()把onSaveInstanceState()存放的值取出来。
示例:
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
boolean isLogged= savedInstanceState.getBoolean("isLogged");
int count= savedInstanceState.getInt("count");
String message = savedInstanceState.getString("message");
}