Android 屏幕旋转时Activity的生命周期
2015-07-28 09:11
399 查看
声明本文出自:http://blog.csdn.net/zshq280017423/article/details/7638987
个人学习笔记:
很多时候会用到屏幕旋转时需要对一些数据进行保存,例如当横竖屏区切换时要保存先前屏幕的一些数据和状态,个人认为有两个方法提供使用:
1.当前的Activity不销毁:
那么就需要在AndroidManifest.xml配置文件中的Activity标签下面添加:android:configChanges="orientation|keyboardHidden"
然后在activity中重写onConfigurationChanged()方法,每次旋转时会调用该方法,可以再该方法中处理数据
生命周期如下:
从上图可以看出,无论你怎么旋转都不会销毁当前的Activity,只会执行onConfigurationChanged()方法,因此只要在该方法中处理响应的数据即可
2.销毁当前的Activity:
如果销毁当前的Activity,那么就要重写Activity的两个方法onSaveInstanceState()和 onRestoreInstanceState(),显然从方法名字可以看出一个是保存
数据,一个是还原数据,生命周期如下:
显然,当屏幕旋转时在什么时候保存数据和什么时候还原数据一目了然了
源码下载地址:http://download.csdn.net/detail/zshq280017423/4356346
个人学习笔记:
很多时候会用到屏幕旋转时需要对一些数据进行保存,例如当横竖屏区切换时要保存先前屏幕的一些数据和状态,个人认为有两个方法提供使用:
1.当前的Activity不销毁:
那么就需要在AndroidManifest.xml配置文件中的Activity标签下面添加:android:configChanges="orientation|keyboardHidden"
然后在activity中重写onConfigurationChanged()方法,每次旋转时会调用该方法,可以再该方法中处理数据
生命周期如下:
从上图可以看出,无论你怎么旋转都不会销毁当前的Activity,只会执行onConfigurationChanged()方法,因此只要在该方法中处理响应的数据即可
2.销毁当前的Activity:
如果销毁当前的Activity,那么就要重写Activity的两个方法onSaveInstanceState()和 onRestoreInstanceState(),显然从方法名字可以看出一个是保存
数据,一个是还原数据,生命周期如下:
显然,当屏幕旋转时在什么时候保存数据和什么时候还原数据一目了然了
源码下载地址:http://download.csdn.net/detail/zshq280017423/4356346
相关文章推荐
- Android基础_页面布局_TableLayout(表格布局)
- Android程序开发如何处理图像格式类及图像转换
- android AIDL RPC 机制
- android setBackgroundDrawable 的padding问题
- Android打造不一样的EmptyView
- inflate与setcontentview及findviewbyid(一)
- 安卓加载顺序
- Android - ViewHolder优化ListView
- Android开源项目第二篇——工具库篇
- Android Api Demos登顶之路(十一)Persistent state
- 【Android游戏特效】项目实战
- android Github-Client(ANDROID)开源之旅(三) ------ 巧用ViewPagerIndicator
- Android应用闪屏的制作,手把手教
- android 安卓开发黄金搭档:android-studio+Genymotion模拟器
- android:layout_weight 属性详解
- Android
- 【Android 多语言切换简单实例分享】
- Android5.0+(CoordinatorLayout)
- Android5.0+(CollapsingToolbarLayout)
- android5.0+(NavigationView)