Android configChanges使用方法

1.    在manifest文件里使用activity的默认属性。横屏竖屏时,惠重复调用onDestory和onCreate  造成不必要的开销。Android默认如此应该是为了适配不同的xml布局文件。又一次初始化资源,显示效果会好一些。

2. manifest文件里配置activity的属性:

android:configChanges="orientation|screenSize"

在activity中将会回调函数:

public void onConfigurationChanged(Configuration newConfig) {

super.onConfigurationChanged(newConfig);

Log.i(TAG, "onConfigurationChanged : " + newConfig);

};

能够在这个函数newConfig中的參数,设置横竖屏所须要的资源替换等操作。

当然: 能够使用manifest中的android:screenOrientation="portrait"(竖)或者 android:screenOrientation="landscape"(横)直接控制横竖屏。

时间: 2024-10-10 15:15:58

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: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

&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()函数.

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

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

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

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

android:configChanges=&quot;keyboard|keyboardHidden|orientation|screenSize&quot;

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

关于android:configChanges的属性(转)

一般在AndroidManifest.xml文件中都没有使用到android:configChanges="keyboardHidden|orientation"配置,当然还是很有用的. 就是如果配置了这个属性,当我们横竖屏切换的时候会直接调用onCreate方法中的onConfigurationChanged方法,而不会重新执行onCreate方法,那当然如果不配置这个属性的话就会重新调用onCreate方法了,下面是测试 AndroidManifest.xml文件 <?xml