摘要
android:configChanges属性,oncreate被多次调用。
APP运行时,一些设备的配置可能会改变,如:横竖屏的切换、键盘的可用性等会导致 Activity重启,即oncreate会被再次调用, 如果oncreate方法中有向服务器请求的方法,那么悲剧就会发生,相当于多次请求。这也是项目测试中通过抓包发现的问题,因此查了下,了解了 android:configChanges属性,可以设置多个,中间用“|”号隔开。最常用的两个属性:
"orientation" (屏幕方向改变了)和"keyboardHidden" ( 键盘的可用性发生了改变)。
详细使用 在manifest中:
<activity
android:name=".ui.FeedBack" android:configChanges="keyboardHidden|orientation" android:launchMode="singleTask" android:screenOrientation="portrait" android:theme="@style/Theme.HalfTranslucent" android:windowSoftInputMode="stateAlwaysHidden|adjustResize" />