画面回転時、再描画を防ぐには

Posted by kwmt on Wed, Apr 13, 2011

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