android:configChanges不被调用的问题

同样是由于SDK版本引发的问题。版本高的更加严谨,限制更多。

"orientation" The screen orientation has changed — the user has rotated the device.

Note: If your application targets API level 13 or higher (as declared by the minSdkVersion and targetSdkVersion attributes), then you should also declare the "screenSize" configuration, because it also changes when a device switches between portrait and landscape orientations.

"screenSize" The current available screen size has changed. This represents a change in the currently available size, relative to the current aspect ratio, so will change when the user switches between landscape and portrait. However, if your application targets API level 12 or lower, then your activity always handles this configuration change itself (this configuration change does not restart your activity, even when running on an Android 3.2 or higher device).

Added in API level 13.

So,大意就是SDK版本13或以上的,需要同时用orientation与screenSize。因为当设备横竖屏切换时,相应的屏幕大小也改变了。所以在Activity配置中正确写法为

android:configChanges="orientation|screenSize"

同时,我们可以知道screenSize这个配置改变并不会导致Activity的reStart。

时间: 2024-12-14 09:37:46

android:configChanges不被调用的问题的相关文章

Android 开发之Android 应用程序如何调用支付宝接口

1.到支付宝官网,下载支付宝集成开发包 由于android设备一般用的都是无线支付,所以我们申请的就是支付宝无线快捷支付接口.下面是申请的地址以及下载接口开发包的网址:https://b.alipay.com/order/productDetail.htm?productId=2014110308141993(如果链接失效,你可以到支付宝官网商家服务模块中找到 快捷支付(无线)这个服务.)  下载集成开发包(http://download.alipay.com/public/api/base/W

android:configChanges属性

对android:configChanges属性,一般认为有以下几点: 1.不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次 2.设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横.竖屏时只会执行一次 3.设置Activity的android:configChanges="orientation|keyboa

android:configChanges 属性注意事项

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

<Android>从窗体泄漏谈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()函数.

Android configChanges使用方法

1.    在manifest文件里使用activity的默认属性.横屏竖屏时,惠重复调用onDestory和onCreate  造成不必要的开销.Android默认如此应该是为了适配不同的xml布局文件.又一次初始化资源,显示效果会好一些. 2. manifest文件里配置activity的属性: android:configChanges="orientation|screenSize" 在activity中将会回调函数: public void onConfigurationCh

android手机横屏和竖屏与android:configChanges

原文地址:http://woshixy.blog.51cto.com/5637578/1081913 目前大多数手机都支持重力感应随之而来的就是屏幕方向改变的问题.对应普通开发者来说屏幕的随意改变也会带来困扰.在Google自带的doc里可以看到,如果设备的配置(Resources.Configuration中进行了定义)发生改变,那么所有用户界面上的东西都需要进行更新以适应新的配置.因为Activity是与用户交互的最主要的机制,它包含了处理配置改变的专门支持.除非你特殊指定,否则当配置发生改

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

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

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

<activity android:name="xxxActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenSize" android:launchMode="singleTask" ---launchMode为singleTask的时候,通过Intent启到一个Activity,如果系统已经存在一个实例,系统就会将请求发送到这个实例上,但这个时