android中的组件Activity在manifest.xml文件中可以指定参数android:ConfigChanges,用于捕获手机状态的改变。 在Activity中添加了android:configChanges属性,在当所指定属性(Configuration Changes)发生改变时,通知程序调用onConfigurationChanged()函数。

设置方法:将下列字段用“|”符号分隔开,例如:“locale|navigation|orientation”

“mcc“ 移动国家号码,由三位数字组成,每个国家都有自己独立的MCC,可以识别手机用户所属国家。
“mnc“ 移动网号,在一个国家或者地区中,用于区分手机用户的服务商。
“locale“ 所在地区发生变化。
“touchscreen“ 触摸屏已经改变。(这不应该常发生。)
“keyboard“ 键盘模式发生变化,例如:用户接入外部键盘输入。
“keyboardHidden“ 用户打开手机硬件键盘
“navigation“ 导航型发生了变化。(这不应该常发生。)
“orientation“ 设备旋转,横向显示和竖向显示模式切换。
“fontScale“ 全局字体大小缩放发生改变

对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“

最新文章

  1. LayaAir引擎——(七)
  2. (分享)根据IP获取地理位置(百度API)
  3. 关于http协议的理解
  4. 备份和还原SQL Server及压缩Access数据库
  5. icon font字体图标字库汇总
  6. apache 做http代理
  7. Excel转换成PDF
  8. C++:memset ,memcpy 和strcpy 的根本区别!
  9. Servlet 是否线程安全 看完便知
  10. [虚拟化/云][全栈demo] 为qemu增加一个PCI的watchdog外设(一)
  11. Android核心基础(十一)
  12. 字符串ID转换成字符串名字
  13. java 关于 hashmap 的实现原理的测试
  14. Nginx负载均衡的优缺点
  15. ng-show,ng-if区别
  16. C++学习笔记第一天:基础
  17. dubbo 用来做什么
  18. 通达OA系统优化-对mysql数据库减肥
  19. python23的区别-日常记录
  20. Maven父子项目配置-多模块(multi-modules)结构

热门文章

  1. 探索Python F-strings是如何工作
  2. HTML5学习笔记 Geolocation(地理定位)
  3. Java 字符串转为字符串数组
  4. dll中使用exe中的变量
  5. 如何在C++中调用C程序
  6. 数据库连接 UnicodeEncodeError: 'latin-1' codec can't encode character u'\u4eac' in position 0: ordinal not in range(256),UnicodeEncodeError: 'latin-1' codec can't encode character
  7. unity, 由Matrix4x4提取Quaternion和Vector3 及 由Quaternion,Vector3构造Matrix4x4
  8. CentOS 删除桌面环境
  9. linux学习规划
  10. mount -o remount,rw / (这是个求命的命令)