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

一般在AndroidManifest.xml文件中都没有使用到android:configChanges="keyboardHidden|orientation"配置,当然还是很有用的哈

就是如果配置了这个属性,当我们 横竖屏切换的时候会直接调用 onCreate方法中的onConfigurationChanged方法,而不会重新执行onCreate方法,那当然如果不配置这个属性的话就会重新调用onCreate方法了


当横竖屏发生切换的时候,activity的生命周期就发生变化了,因此设置一下android:ConfigChanges会比较好,可以防止证明周期发生变化。

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

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

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


官方文档:http://developer.android.com/guide/topics/manifest/activity-element.html





更多相关文章

  1. SurfaceHolder.Callback
  2. Android多媒体播放器源码解析(stagefright框架)
  3. Android(安卓)configChanges属性总结
  4. android通过chmod命令实现文件权限修改
  5. Android(安卓)AIDL接口定义语言
  6. android TextView的字体颜色设置的多种方法(续)
  7. android AMS
  8. Android,采用AIDL编写接口实现IPC 入门
  9. android TextView的字体颜色设置的多种方法(续)

随机推荐

  1. Android中转义字符
  2. Android(安卓)Building System 总结
  3. Android报表解决方案 使用开源组件iChart
  4. 丢失Android系统库或者Conversion to Dal
  5. 致Android初学者:如何学习Android开发
  6. android应用开发总论
  7. Android(安卓)中判断网络连接和GPS是否可
  8. [转]Android笔记:Eclipse嵌入Unity3D开发
  9. Android读写XML(中)——SAX
  10. Android(安卓)mvp 架构的自述