关于android:configChanges小结
有段时间没更新博客了,做个音乐播放器遇到了坑,暂放来学习一个开源小项目👌。
1.android:configChanges位于AndroidManifest.xml中,用于捕获手机状态的改变。
2.Activity中添加android:configChanges属性,当所指定属性(Configuration Changes)发生改变时,通知程序调用
onConfigurationChanged()函数。
3.设置方法
:字段用“|”符号隔开,如:“locale|navigation|orientation”。
4.“mcc“
移动国家号码,由三位数字组成,每个国家都有自己独立的MCC,可以识别手机用户所属国家。
“mnc“
移动网号,在一个国家或者地区中,用于区分手机用户的服务商。
“locale“
所在地区发生变化。
“touchscreen“
触摸屏已经改变。
“keyboard“
键盘模式发生变化,如:用户接入外部键盘输入。
“keyboardHidden“
用户打开手机硬件键盘。
“navigation“
导航型发生了变化。
“orientation“
设备旋转,横向显示和竖向显示模式切换。
“fontScale“
全局字体大小缩放发生改变。
5.一般有以下几点:
(1)不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次。
(2)设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次。
(3)设置Activity的android:configChanges="keyboardHidden|orientation|screenSize"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged()方法。