下面讨论 API 12 以上的情况
(之前是不需要设置screenSize,并且可能与下面不一样)
关键在于 Activity中的一个属性configChanges(可以不写)
所有属性值的具体含义与用途,请自行查文档
<activity
android:name=".activities.FirstActivity"
android:configChanges="orientation"
/>
1. 未设置configChanges,一般情况
启动Activity,竖屏
09-07 12:44:45.545 28409-28409/com.zero.androidtranningdemo D/FirstActivity﹕ onCreate First
09-07 12:44:45.555 28409-28409/com.zero.androidtranningdemo D/FirstActivity﹕ onStart First
09-07 12:44:45.555 28409-28409/com.zero.androidtranningdemo D/FirstActivity﹕ onResume First竖屏切换至横屏
09-07 12:45:59.235 28409-28409/com.zero.androidtranningdemo D/FirstActivity﹕ onPause First
09-07 12:45:59.235 28409-28409/com.zero.androidtranningdemo D/FirstActivity﹕ onSaveInstanceState First
09-07 12:45:59.235 28409-28409/com.zero.androidtranningdemo D/FirstActivity﹕ onStop First
09-07 12:45:59.235 28409-28409/com.zero.androidtranningdemo D/FirstActivity﹕ onDestroy First
09-07 12:45:59.375 28409-28409/com.zero.androidtranningdemo D/FirstActivity﹕ onCreate First
09-07 12:45:59.385 28409-28409/com.zero.androidtranningdemo D/FirstActivity﹕ onStart First
09-07 12:45:59.385 28409-28409/com.zero.androidtranningdemo D/FirstActivity﹕ onRestoreInstanceState First
09-07 12:45:59.385 28409-28409/com.zero.androidtranningdemo D/FirstActivity﹕ onResume First由横屏切换竖屏
09-07 12:48:00.815 28409-28409/com.zero.androidtranningdemo D/FirstActivity﹕ onPause First
09-07 12:48:00.815 28409-28409/com.zero.androidtranningdemo D/FirstActivity﹕ onSaveInstanceState First
09-07 12:48:00.815 28409-28409/com.zero.androidtranningdemo D/FirstActivity﹕ onStop First
09-07 12:48:00.815 28409-28409/com.zero.androidtranningdemo D/FirstActivity﹕ onDestroy First
09-07 12:48:00.925 28409-28409/com.zero.androidtranningdemo D/FirstActivity﹕ onCreate First
09-07 12:48:00.925 28409-28409/com.zero.androidtranningdemo D/FirstActivity﹕ onStart First
09-07 12:48:00.925 28409-28409/com.zero.androidtranningdemo D/FirstActivity﹕ onRestoreInstanceState First
09-07 12:48:00.925 28409-28409/com.zero.androidtranningdemo D/FirstActivity﹕ onResume First
2. 修改configChanges为
(一般广告SDK中使用)
android:configChanges=”orientation|screenSize”
只会调用一个方法
09-07 12:57:41.295 9776-9776/com.zero.androidtranningdemo D/FirstActivity﹕ onConfigurationChanged
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig); //必须写上
Log.d(TAG, "onConfigurationChanged");
}