Developerサイトから
When a configuration change occurs at runtime, the activity is shut down and restarted by default,
デフォルトでは、設定が変更されたら(画面回転や、locale変更、キーボードタイプ変更など)、Activityはシャットダウンして、再起動します。
but declaring a configuration with this attribute will prevent the activity from being restarted.
android:configChangesを設定することで、Activityが再起動されるのを防ぎます。
Instead, the activity remains running and its onConfigurationChanged() method is called.
android:configChangesを設定して、設定変更(画面回転や、locale変更、キーボードタイプ変更など)すると、Activityは起動したままとなり、onConfigurationChanged()メソッドが呼ばれます。
画面回転時、再描画を防ぐには
AndroidManifest.xmlに下記赤文字の箇所を追加する。
備考
上記の設定して、onConfigurationChanged()メソッドが本当に呼ばれるのか確認しようとして、Activityに
を追加して実行すると、画面回転時に強制終了してしまった。とりあえずLogCatをみると、
と出てた。super.onConfigurationChanged()が呼ばれなかった?じゃぁ、
として実行してみたら、強制終了しないでくれた。
androidソースを見てみると、それらしい記述がある。
comments powered by Disqus