展会信息港展会大全

onSaveInstanceState和onRestoreInstanceState的用处
来源:互联网   发布日期:2016-01-14 12:14:40   浏览:1509次  

导读:很多不明白Activity类中包含的onSaveInstanceState和onRestoreInstanceState有什么用,首先 Android123声明下使用这两个方法时一定要注意情况和了解Activity的生命周期,否则有的时候 onSaveInstanceState和on......

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

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

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

01

@Override

02

protected void onSaveInstanceState(Bundle outState){

03

outState.putString("lastPath", "/sdcard/android123/cwj/test");

04

}

05

06

07

@Override

08

public void onRestoreInstanceState(Bundle savedInstanceState) {

09

super.onRestoreInstanceState(savedInstanceState);

10

11

String cwjString = savedInstanceState.getString("lastPath");

12

}

赞助本站

人工智能实验室

相关热词: onSaveInstanceState

相关内容
AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港