Android在旋转屏幕时activity会被重建,重新调用activity的各个生命周期,如果不想重建,那么需做如下设置:
android:configChanges="orientation|screenSize"
orientation选项指在屏幕方向发生改变,screenSize选项指屏幕尺寸发生改变,由于旋转屏幕时屏幕尺寸会发生变化,所以必须设置screenSize选项。activity不被重建,系统也就不会调用onSaveInstance和onRestoreInstance方法,而会调用onConfigChanged方法。
需要说明的是,configChanges属性是Android 3.2(API 13)中新加入的,所以当编译选项的minSdkVersion和targetSdkVersion均小于13时,则无需设置screenSize。