临时数据的存储出现的情况,比如系统突然回收了内存,听歌时来了电话,这些可以结合activity的生命周期来使用
当Activity被系统回收时调用,保存数据可以在这个方法里
onSaveInstanceState(Bundle outState)
当Activity被系统回收再重新启动时调用,读取数据(Bundle)
onRestoreInstanceState(Bundle savedInstanceState)
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//对数据进行恢复savedInstanceState 这就是onCreate方法里参数的作用
setContentView(R.layout.main);
}
/**
* 模拟系统杀死Activity
* 横竖屏切换
*/
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
//保存书的页数
outState.putInt("page", 108);
Log.i("i", "数据已经保存");
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onRestoreInstanceState(savedInstanceState);
int page = savedInstanceState.getInt("page");
Log.i("i", "我上次已经看了"+page+"页");
}
/**
* 如果我在听歌 ,电话来了
* 结合Activity的生命周期
* onPause() 临时数据的存储
*
* onResume()数据的恢复
*/
}