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" />