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);
     }

  • 相关阅读:
    CentOS7下部署Django
    ORM动态创建表
    JQuery制作加载进度条
    文件上传、下载
    Django执行事务操作
    python常用代码
    深入理解Java虚拟机-垃圾收集器
    ILRuntime作者林若峰分享:次世代手游渲染怎么做
    Android:手把手教你构建 全面的WebView 缓存机制 & 资源加载方案
    unity3d 热更篇--ILRuntime原理
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3281527.html
Copyright © 2011-2022 走看看