zoukankan      html  css  js  c++  java
  • Activity的onSaveInstanceState()和onRestoreInstanceState()方法

          首先Android的Activity生命周期如下图:

             Activity的onSaveInstanceState()和onRestoreInstanceState()并不是生命周期方法,他们不同于onCreate(),onPause()等生命周期,并不是一定会被触发。当应用遇到意外情况(内存不足,用户直接按HOME键,pause,stop ) 由系统销毁一个Activity时,onSavenstanceState()会被调用,Activity由运行状态进入暂停或者停止状态也会调用该方法。但是当用户主动去销毁一个Activity时,如在应用中按返回键突出,就不会被调用。应为这种情况下用户的行为决定了不需要保存Activity的状态,通常onSaveInstanceState()只适合用于保存一些临时的状态,

           onPause()方法适合用于数据的持久化保存

    当屏幕方向发生改变,activity会被摧毁并且被重新创建。如果你想在activity被摧毁前缓存一些数据,并且在activity被重新创建后回复缓存数据,可以重写Activity的onSaveInstanceState()和onRestoreInstanceState()两个方法

     

    protected void onRestoreInstanceState(Bundle savedInstanceState) {
      String name = savedInstanceState.getString("name");
      Log.i(TAG,"here is onRestoreInstanceState" + " name=" + name);
      super.onRestoreInstanceState(savedInstanceState);
     }
     protected void onSaveInstanceState(Bundle outState) {
      Log.i(TAG,"here is onSaveInstanceState");
      outState.putString("name", "linxuanming");
      super.onSaveInstanceState(outState);
     }

  • 相关阅读:
    DSP builder安装指南(以9.1为例)
    浅谈FPGA电脑
    Altera 在线资源使用
    Altium Designer 发现的机密——摘自CRAZY BINGO
    dom4j 练习
    java 工程和类等路径汇总
    读取xml文件基于xpath
    简化 XML 读写
    Java GUI 开发专题
    java中路径示例
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3281527.html
Copyright © 2011-2022 走看看