public class HelloActivity extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);    }}

   Activity中有一个名称叫onCreate的方法。该方法是在Activity创建时被系统调用,是一个Activity生命周期的开始。可是有一点容易被忽视,就是onCreate方法的参数saveInsanceState。一般的程序开发中,很少用到这个参数。
       onCreate方法的完整定义如下:
      public void onCreate(Bundle saveInsanceState){
                super.onCreate(saveInsanceState);
      }
    Bundle类型的数据与Map类型的数据相似,都是以key-value的形式存储数据的。
    从字面上看saveInsanceState,是保存实例状态的。实际上,saveInsanceState也就是保存Activity的状态的。那么,saveInsanceState中的状态数据是从何处而来的呢?下面我们介绍Activity的另一个方法saveInsanceState。
    onsaveInsanceState方法是用来保存Activity的状态的。当一个Activity在生命周期结束前,会调用该方法保存状态。

    如下所示:
    public void onSaveInsanceState(Bundle saveInsanceState){
       super.onSaveInsanceState(saveInsanceState);
   }
    在实际应用中,当一个Activity结束前,如果需要保存状态,就在onsaveInsanceState中,将状态数据以key-value的形式放入到saveInsanceState中。这样,当一个Activity被创建时,就能从onCreate的参数saveInsanceState中获得状态数据。
    状态这个参数在实现应用中有很大的用途,比如:一个游戏在退出前,保存一下当前游戏运行的状态,当下次开启时能接着上次的继续玩下去。再比如:电子书程序,当一本小说被阅读到第199页后退出了(不管是内存不足还是用户自动关闭程序),当下次打开时,读者可能已忘记了上次已阅读到第几页了,但是,读者想接着上次的读下去。如果采用saveInstallState参数,就很容易解决上述问题。


更多相关文章

  1. Android(安卓)Camera CTS related
  2. Android布局 屏幕滚动方法 ScrollView
  3. Android(安卓)监控网络状态
  4. EditText获取焦点的一系列方法
  5. SharedPreferences 数据存储
  6. Android(安卓)AndroidStudio环境下控制状态栏颜色
  7. android开发笔记之viewpager 基本使用方法
  8. Android(安卓)WebView请求,保存cookie,判断登录状态
  9. radioButton 使用

随机推荐

  1. PHP将amr音频文件转换为mp3格式的操作细
  2. 怎么画漫画人物的嘴巴?漫画人物嘴巴新手教
  3. php将ppt转jpg图片的具体步骤代码
  4. Vue自定义指令详细
  5. 怎么画漫画人物的嘴巴?漫画人物嘴巴新手教
  6. android版本更新功能
  7. Android中获取当前屏幕的尺寸大小
  8. Android之获取加载图片宽高问题(getIntrin
  9. Android开发错误信息收集
  10. JS判断是IOS还是Android,判断是否微信浏览