从事Android开发,免不了会在应用里嵌入一些广告SDK,在嵌入了众多SDK后,发现几乎每个要求在AndroidManifest.xml申明Activity的广告SDK都会要求加上注明这么一句属性:
android:configChanges="orientation|keyboard|keyboardHidden"

  通过查阅Android API可以得知android:onConfigurationChanged实际对应的是Activity里的onConfigurationChanged()方法。在AndroidManifest.xml中添加上诉代码的含义是表示在改变屏幕方向、弹出软件盘和隐藏软键盘时,不再去执行onCreate()方法,而是直接执行onConfigurationChanged()。如果不申明此段代码,按照Activity的生命周期,都会去执行一次onCreate()方法,而onCreate()方法通常会在显示之前做一些初始化工作。所以如果改变屏幕方向这样的操作都去执行onCreate()方法,就有可能造成重复的初始化,降低程序效率是必然的了,而且更有可能因为重复的初始化而导致数据的丢失。这是需要千万避免的。

设置捕获的事件类型

android:configChanges="orientation|keyboardHidden|screenSize"

更多相关文章

  1. 新博andorid 初中级考试评测以及答案-------小林老师出的试卷
  2. Android(安卓)自定义View(二)函数分析
  3. Android面试系列文章2018之ListView篇
  4. android Service深入详解
  5. [Android]Service和Activity双向通信的两种方式
  6. 模拟获取android root权限
  7. Android利用Soap读取WebService并且解析XML的DataSet数据
  8. 横竖屏切换不重启activity的方法
  9. Fragment加载轮换add,show,hide,replace方法

随机推荐

  1. 【如何在Android中使用编译好的.so库】
  2. Android(安卓)导入android源码有错,R.java
  3. ListView 和 Adapter 的基础
  4. 一个Android工程师的学习实践之路
  5. 写给程序员和UI--Android的切图标准
  6. android 实现滤镜效果
  7. 安卓修改包名
  8. 01 Android(安卓)布局使用的几种方式
  9. 何为原生开发
  10. Android实验笔记之——室内地图的开发