最近做项目在又发现一些新的问题,记录一下希望为后面的读者的指点迷雾。
由于系统版本造成的android:configChanges横竖屏配置无效,先参考源码
在level13以后加入了一个screenSize的属性,这个属性很重要如果在android3.2以后的版本中没有添加"screenSize"的话依然会触发横竖屏activity销毁周期(也就是说不能屏蔽activity销毁,从而调用onConfigurationChanged方法,而在3.2之前只要设置orientation|keyboardHidden就可以)。由于智能机的迅速普及手机的系统大多数升级到4.0以上,这样会导致很多没有设置screenSize属性的程序activity又出现销毁情况。
试试如下代码:
AndroidMainifest.xml中加入
<activity
android:name=".Activity"
android:launchMode="singleTask"
android:configChanges="orientation|keyboardHidden|screenSize"/>
复写acitivity的onConfigurationChanged方法
@Override
public void onConfigurationChanged(Configuration newConfig) {
//其实这里什么都不要做
super.onConfigurationChanged(newConfig);
}