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

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

android:configChanges=["mcc", "mnc", "locale",

"touchscreen", "keyboard", "keyboardHidden",

"navigation", "screenLayout", "fontScale", "uiMode",

"orientation", "screenSize", "smallestScreenSize"]

mcc:The IMSI mobile country code (MCC) has changed — a SIM has been detected and updated the MCC.

IMSI(国际移动用户识别码)发生改变,检测到SIM卡,或者更新MCC

mnc:The IMSI mobile network code (MNC) has changed — a SIM has been detected and updated the MNC.

IMSI网络发生改变,检测到SIM卡,或者更新MCC

其中mcc和mnc理论上不可能发生变化

locale:The locale has changed — the user has selected a new language that text should be displayed in.

语言发生改变,用户选择了一个新的语言,文字应该重新显示

touchscreen:The touchscreen has changed. (This should never normally happen.)

触摸屏发生改变,这通常是不应该发生的

keyboard:The keyboard type has changed — for example, the user has plugged in an external keyboard.

键盘类型发生改变,例如,用户使用了外部键盘

keyboardHidden:The keyboard accessibility has changed — for example, the user has revealed the hardware keyboard.

键盘发生改变,例如,用户使用了硬件键盘

navigation:The navigation type (trackball/dpad) has changed. (This should never normally happen.)

导航发生改变,(这通常不应该发生) 举例:连接蓝牙键盘,连接后确实导致了navigation的类型发生变化。因为连接蓝牙键盘后,我可以使用方向键来navigate了

screenLayout:The screen layout has changed — this might be caused by a different display being activated.

屏幕的布局发生改变,这可能导致激活不同的显示

fontScale:The font scaling factor has changed — the user has selected a new global font size.

全局字体大小缩放发生改变

orientation:The screen orientation has changed — that is, the user has rotated the device.设备旋转,横向显示和竖向显示模式切换。

screenSize: 屏幕大小改变了

smallestScreenSize: 屏幕的物理大小改变了,如:连接到一个外部的屏幕上

4.2增加了一个layoutDirection属性,当改变语言设置后,该属性也会成newConfig中的一个mask位。所以ActivityManagerService(实际在ActivityStack)在决定是否重启Activity的时候总是判断为重启。

需要在android:configChanges 中同时添加locale和layoutDirection。

在不退出应用的情况下切换到Settings里切换语言,发现该Activity还是重启了。

更多相关文章

  1. Android动画-Interpolator(插值器)大全
  2. Android基础控件——EditText隐藏软键盘、Enter键隐藏软键盘、点
  3. Android(安卓)TabLayout简单使用
  4. 如何让手机横竖屏切换不重走Activity生命周期
  5. H5-input 弹起键盘遮盖输入框(Android),键盘顶不起来输入框, ios
  6. Android(安卓)软件盘不自动弹出解决办
  7. Android类似朋友圈评论视图Dialog实现
  8. 2013.4.8
  9. Android用软键盘将整个界面推上去

随机推荐

  1. 能够删除的安卓(Android)系统自带程序详
  2. 开发者必备的十二大Android开发资源
  3. Android(安卓)面向协议编程 体会优雅编程
  4. java/android 设计模式学习笔记(9)---代理
  5. android中Intent传值与Bundle传值的区别
  6. 【Android(安卓)并发编程】从进程的角度
  7. Android屏幕切换左右滑动
  8. Android工程中的armeabi与armeabi-v7a
  9. 关于真机测试的android选择图片在ImageVi
  10. Android(安卓)7.1.1 通话记录数据库详解