android:configChanges="keyboard|keyboardHidden|orientation|screenSize"

<activity    android:name="xxxActivity"    android:configChanges="keyboard|keyboardHidden|orientation|screenSize"    android:launchMode="singleTask"   

---launchMode为singleTask的时候,通过Intent启到一个Activity,如果系统已经存在一个实例,系统就会将请求发送到这个实例上,但这个时候,系统就不会再调用通常情况下我们处理请求数据的onCreate方法,而是调用onNewIntent方法

android:configChanges="xxx" 详解:

1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次

2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次

3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法

VALUE                                     DESCRIPTION
"mcc"                                      国际移动用户识别码所属国家代号是改变了----- sim被侦测到了,去更新mcc mcc是移动用户所属国家代号
"mnc"                                      国际移动用户识别码的移动网号码是改变了------ sim被侦测到了,去更新mnc MNC是移动网号码,最多由两位数字组成,用于识别移动用户所归属的移动通信网
"locale"                                    地址改变了-----用户选择了一个新的语言会显示出来
"touchscreen"                           触摸屏是改变了------通常是不会发生的
"keyboard"                               键盘发生了改变----例如用户用了外部的键盘
"keyboardHidden"                     键盘的可用性发生了改变
"navigation"                             导航发生了变化-----通常也不会发生
"screenLayout"                         屏幕的显示发生了变化------不同的显示被激活
"fontScale"                               字体比例发生了变化----选择了不同的全局字体
"uiMode"                                  用户的模式发生了变化
"orientation"                             屏幕方向改变了
"screenSize"                             屏幕大小改变了
"smallestScreenSize"                 屏幕的物理大小改变了,如:连接到一个外部的屏幕上

ref:

(7)android:configChanges="orientation|keyboardHidden|navigation"_年轻至永远_新浪博客
http://blog.sina.com.cn/s/blog_132cad9990102w25i.html

横竖屏切换时,禁止activity从新创建,android:configChanges="keyboardHidden|orientation" 不起作用 - Android
http://www.myexception.cn/android/1643755.html

当Activity的launchMode设为singleTask的时候,你要注意了! - 蚂蚁的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/caiwenfeng_for_23/article/details/46918743

时间: 2024-10-12 03:45:01

android:configChanges="keyboard|keyboardHidden|orientation|screenSize"的相关文章

横竖屏切换时,禁止activity重新创建,android:configChanges=&quot;keyboardHidden|orientation&quot; 不起作用

这个网上搜索,很多结果都是: AndroidManifest.xml android:configChanges="keyboardHidden|orientation" 但是,实际上很多手机上,这个根本不起作用.这是为什么呢? 因为,但多数人陈陈相因,文章直接转,都没有结果自己实践. 在低版本上,这个是可以起作用.在android 4.0 以上实际上这个是不起作用的. 必须要加上screenSize. android:configChanges="keyboardHidde

[Android Pro] 横竖屏切换时,禁止activity重新创建,android:configChanges=&quot;keyboardHidden|orientation&quot; 不起作用

referece to : http://blog.csdn.net/mybook1122/article/details/24978025 这个网上搜索,很多结果都是: AndroidManifest.xml android:configChanges="keyboardHidden|orientation" 但是,实际上很多手机上,这个根本不起作用.这是为什么呢? 因为,但多数人陈陈相因,文章直接转,都没有结果自己实践. 在低版本上,这个是可以起作用.在android 4.0 以上

android:configChanges 属性注意事项

转屏时,配置了android:configChanges="keyboardHidden|orientation" 还是会调用oncreate ,原来是因为没有配置screensize属性导致. 参考:http://blog.csdn.net/huiguixian/article/details/8071821 在以前的版本中只要在AndroidManifest.xml文件中对activity指定android:configChanges="keyboardHidden|or

关于android:configChanges的属性的简介

在Android系统默认的情况下,当"屏幕方向"或"键盘显示隐藏"变化时都会销毁当前Activity,创建新的Activity.如果不希望重新创建Activity实例,可以在AndroidManifest.xml中配置 android:configChanges="keyboardHidden|orientation" > 这样就不会销毁重建了,在配置了这个属性后,android:configChanges 属性就会捕获"屏幕方向

android4.0 禁止横竖屏切换使用 android:configChanges="orientation|keyboardHidden"无效的解决方法

Android横竖屏幕切换时注意4.0以上配置configChanges要加上screenSize,要不还会调用onCreate(). <activity android:name=".MainActivity" android:configChanges="orientation|keyboardHidden|screenSize"/> android4.0 禁止横竖屏切换使用 android:configChanges="orientati

android屏幕翻转不重新加载android:configChanges=&quot;orientation|keyboardHidden&quot;

如果一个activity在横屏状态下切换到竖屏状态,是不是会把整个activity重新加载一遍呢?这样的话,所有变量和方法都被初始化了,显然,一般我们不想这样. AndroidManifest.xml android:configChanges="keyboardHidden|orientation" 就是如果配置了这个属性,当我们横竖屏切换的时候会直接调用onCreate方法中的onConfigurationChanged方法,而不会重新执行onCreate方法,那当然如果不配置这个

Android疑难杂症之android:configChanges=&quot;orientation&quot; 无效

通常情况下,当"屏幕方向"变化时会销毁并重建当前Activity.而我们有时候并不希望重新创建Activity实例,然后就会在AndroidManifest.xml中配置Activity: <activity android:name="com.example.MainActivity" android:configChanges="orientation" > android:configChanges="orientat

&lt;Android&gt;从窗体泄漏谈android:configChanges属性

今天有幸去哥们的大公司做了半天的临时工,一个偶现的Bug折腾了他好久,好不容易今天抓到了异常Log日志,大致的意思就是android.view.windowleaked--窗体泄漏.我在网上查了资料: Android的每一个Activity都有个WindowManager窗体管理器,构建在某个Activity之上的对话框.PopupWindow也有相应的WindowManager窗体管理器.因为Dialog.PopupWindown不能脱离Activity而单独存在着,所以当承载某个Dialog

android:configChanges属性总结

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