onConfigurationChanged的使用

Android中,某些事件触发,Activity会重新调用onCreate方法对Activity重新初始化,这样不仅效率低,而且会造成数据丢失,通过重写onConfigurationChanged方法,并在AndroidManifest.xml中对Activity声明configChanges,这样特定事件触发就会调用onConfigurationChanged方法,而不是onCreate方法重新初始化。

要使用该方法则必须在清单文件中添加如下配置:

android:configChanges="orientation|keyboard|keyboardHidden"

这句代码表示,当设备旋转、显示键盘、隐藏键盘时调用Activity的onConfigurationChanged方法。configChanges可配置的值如下表所示:

在做转屏实验的时候会发现现象不是按照上面所述的调用onConfigurationChanged方法而是一直调用onCreate,通过查找网上资料发现,当是在AndroidManifest.xml里设置的MiniSdkVersion和 TargetSdkVersion属性大于等于13的情况下,除了设置”orientation“,你还必须设置"ScreenSize"。

参考资料:

http://www.cnblogs.com/jayceli/archive/2012/10/10/2718984.html

http://www.2cto.com/kf/201401/276043.html

http://www.cnblogs.com/lijunamneg/archive/2013/03/26/2982461.html

时间: 2024-10-13 00:59:22

onConfigurationChanged的使用的相关文章

Android学习笔记——关于onConfigurationChanged

从事Android开发,免不了会在应用里嵌入一些广告SDK,在嵌入了众多SDK后,发现几乎每个要求在AndroidManifest.xml申明Activity的广告SDK都会要求加上注明这么一句属性: android:configChanges="orientation|keyboard|keyboardHidden" 通过查阅Android API可以得知android:onConfigurationChanged实际对应的是Activity里的onConfigurationChan

onConfigurationChanged方法的使用

在日常生活中,手机会有很多种配置放生改变的情况,当然,有些时候需要监听他们并对他们进行处理,这就涉及到了onConfiguration方法的使用,我大致说一下,这个方法需要发生在屏幕切换横竖屏,或者选择语言,切换输入法等的时候会被调用,之前我说过,切换横竖屏的时候实际上是将activity调用了onDestroy方法,然后再重新调用的onCreate方法,这样的话会产生一些麻烦,单不说屏幕闪了一下,如果是个关于歌曲的程序,那切一下屏幕就导致歌曲终端使我们及其不想看到的,还有好多情况我就不一一列举

onConfigurationChanged的作用

onConfigurationChanged的作用 API原文说明:android:configChangesLists configuration changes that the activity will handle itself. When a configuration change occurs at runtime, the activity is shut down and restarted by default, but declaring a configuration

Android 中onConfigurationChanged问题

onConfigurationChanged 不生效问题解决方案: 1).首先,需要重写onConfigurationChanged函数 @Override    public void onConfigurationChanged(Configuration newConfig) {        super.onConfigurationChanged(newConfig);        //do something    } 2). 需要在AndroidManifest.xml的Acti

android 连接蓝牙扫码枪,程序崩溃之onConfigurationChanged

当android手机通过蓝牙连接扫码枪时,程序崩溃的原因之一是:键盘弹出或隐藏,触发程序走了onDestory->onCreate的生命周期,从而可能使得页面的某些初始化数据被清除了. 解决方法:通常在AndroidManifest.xml中指定Activity添加以下代码 1 android:configChanges="orientation|keyboard|keyboardHidden" 这句代码表示,当设备旋转.显示键盘.隐藏键盘时调用Activity的onConfig

onConfigurationChanged与OnCreate,究竟谁被调用的问题

在以前的版本中只要在AndroidManifest.xml文件中对activity指定android:configChanges="keyboardHidden|orientation"属性,转屏的时候就会不再重新调用OnCreate()函数,而是调用onConfigurationChanged(). 但是在自从android3.2以后,再这样设置的话,会发现转屏后仍然会调用OnCreate(),而不是onConfigurationChanged():原因是google在android

【转】onConfigurationChanged

http://blog.csdn.net/xiaodongvtion/article/details/679938 转载自该文章. 注意:onConfigurationChanged事件并不是只有屏幕方向改变才可以触发,其他的一些系统设置改变也可以触发,比如打开或者隐藏键盘. 当我们的屏幕方向发生改变时,就可以触发onConfigurationChanged事件.我们要想当前的activity捕获这个事件,需要做以下这么几件事情. 第一:权限声明: <uses-permission Androi

Android onConfigurationChanged(Configuration cfg) 无法触发问题

 1.android:configChanges="orientation|keyboardHidden"的使用  当在activity加上android:configChanges="keyboardHidden|orientation"属性,就不会重启activity.而只是调用onConfigurationChanged(Configuration newConfig).这样就可以在这个方法里调整显示方式. 在xml文件里面可以进行配置configChange

Android:关于onConfigurationChanged()的介绍(转)

转载:http://www.cnblogs.com/bluestorm/p/3622444.html 从事Android开发,免不了会在应用里嵌入一些广告SDK,在嵌入了众多SDK后,发现几乎每个要求在AndroidManifest.xml申明Activity的广告SDK都会要求加上注明这么一句属性: android:configChanges="orientation|keyboard|keyboardHidden" 通过查阅Android API可以得知android:onConf