很多不明白Activity类中包含的onSaveInstanceState和onRestoreInstanceState有什么用,首先声明下使用这两个方法时一定要注意情况和了解Activity的生命周期 ,否则有的时候 onSaveInstanceState和onRestoreInstanceState 可能不会被触发,虽然他们都是Activity的重写方法。(文/Android 开发网)

他 们比较常用到的地方是 Sensor、Land和Port布局的自动切换,过去Android开发网曾经说过解决横屏和竖屏切换带来的数据被置空或者说onCreate被重复调 用问题,其实Android提供的onSaveInstanceState方法可以保存当前的窗口状态在即将布局切换前或当前Activity被推入历史 栈,其实布局切换也调用过onPause所以被推入Activity的history stack,如果我们的Activity在后台没有因为运行内存吃紧被清理,则切换回时会触发onRestoreInstanceState方法。

这两个方法中参数均为Bundle,可以存放类似 SharedPreferences 的数据,所以使用它们作为当前窗口的状态保存是比较合适的。实际使用代码

  1. @Override
  2. protected void onSaveInstanceState(Bundle outState){
  3. outState.putString("lastPath", "/sdcard/android123/cwj/test");
  4. }


  5. @Override
  6. public void onRestoreInstanceState(Bundle savedInstanceState) {
  7. super.onRestoreInstanceState(savedInstanceState);

  8. String cwjString = savedInstanceState.getString("lastPath");
  9. }

更多相关文章

  1. android 服务
  2. android整合--屏幕旋转触发事件
  3. Android(安卓)file.createNewFile方法问题总结
  4. 有关Android中EditText的一些属性
  5. 浅谈Java中Collections.sort对List排序的两种方法
  6. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Fedora镜像
  7. Python list sort方法的具体使用
  8. python list.sort()根据多个关键字排序的方法实现
  9. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像

随机推荐

  1. Ubuntu操作系统配置Grafana镜像
  2. 一组字符串出现了几次
  3. Centos7操作系统配置Grafana镜像
  4. 初学者怎么练线稿?线稿练习技巧
  5. 系统学习 TypeScript(三)——基础类型
  6. 素描透明物体怎么画?教你轻松画出透明的物
  7. 微信小程序wifi开发
  8. 如何零基础学素描?素描学习教学!
  9. 如何绘制服装?动漫人物女生服装的画法
  10. Debian与Ubuntu到底有什么不同,应该如何选