が再起動されてしまう問題に悩まされたので覚書。
HoneyComb MR2(Android3.2)以降、画面回転時にSCREEN_SIZEのconfigChangeも
走るようになりました。
参考:Android Developerサイト
これにより、AndroidManifestで
android:configChanges=orientation
としただけでは不十分となりました。
画面回転時の再起動を防ぎたい場合は
android:configChanges=orientation|screenSize
とする必要があります。(※端末形状によってはkeyboardHiddenも必要)
実際にソースコードを組んで確認してみます。
@Override protected void onDestroy() { super.onDestroy(); int change = getChangingConfigurations(); android.util.Log.e("yuki" , "yuki c=" + String.format("0x%08x", change)); // CONFIG_SCREEN_SIZE 0x000004 // CONFIG_ORIENTATION 0x0000008 }
結果は
yuki c=0x00000480
となります。(CONFIG_SCREEN_SIZE|CONFIG_ORIENTATION)
以上です。