android:configChanges属性
2015-08-06 21:43
393 查看
对android:configChanges属性,一般认为有以下几点:
1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次
2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次
3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法
但是,自从Android 3.2(API 13),在设置Activity的android:configChanges="orientation|keyboardHidden"后,还是一样 会重新调用各个生命周期的。因为screen size也开始跟着设备的横竖切换而改变。所以,在AndroidManifest.xml里设置的MiniSdkVersion和 TargetSdkVersion属性大于等于13的情况下,如果你想阻止程序在运行时重新加载Activity,除了设置"orientation", 你还必须设置"ScreenSize"。
解决方法:
AndroidManifest.xml中设置android:configChanges="orientation|screenSize“
或:android:configChanges="orientation|keyboardHidden|screenSize"
1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次
2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次
3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法
但是,自从Android 3.2(API 13),在设置Activity的android:configChanges="orientation|keyboardHidden"后,还是一样 会重新调用各个生命周期的。因为screen size也开始跟着设备的横竖切换而改变。所以,在AndroidManifest.xml里设置的MiniSdkVersion和 TargetSdkVersion属性大于等于13的情况下,如果你想阻止程序在运行时重新加载Activity,除了设置"orientation", 你还必须设置"ScreenSize"。
解决方法:
AndroidManifest.xml中设置android:configChanges="orientation|screenSize“
或:android:configChanges="orientation|keyboardHidden|screenSize"
相关文章推荐
- Android应用性能优化之使用SQLiteStatement优化SQLite操作
- Android——Activity的生命周期
- Android——Activity的生命周期
- Android开发之聊天室
- Android 加载大图的缩略图显示
- Android 基于蓝牙的方向控制器
- Android如何跳过小米和魅族手机对Toast的限制
- Android Service组件
- Android中visibility属性VISIBLE、INVISIBLE、GONE的区别
- android 当屏幕截图,你如何改变屏幕内容,他们俩bitmap将合并的图像被一起显示
- Android使得手机拍照功能的发展(源共享)
- 由浅入深学习自定义控件(4)-滑动开关slidemenu
- Android复习笔记(14)-自定义控件(1)-滑动开关
- Android DVM
- Android ListView&异步加载的学习(三)——AsyncTask加载图片&运用Lru算法优化图片加载
- Android Studio配置Github
- Android错误总结大全!
- android ScrollView fillViewport属性
- Android Design Support Library使用示例(一)
- Android代码内存优化建议-Java官方篇