2012年11月17日土曜日

回転時にActivityを破棄させない方法


こんにちは。scarvizです。

AndroidのActivityは、端末回転時に縦レイアウト、横レイアウトの切り替えをするために、
一度破棄し、再生成されますよね。

でも、別に縦横関係ないアプリだと、Activityの破棄は色々問題を抱えてしまいます。
スレッド立ててると一緒に破棄しちゃうので、ちょっと大丈夫なの?的な。

回転自体を固定するようにAndroidManifestで指定することも出来ますが、固定が必要ないアプリの場合は、いまいち感があります。

回転は許可して、回転されると困る場合にのみ、回転を一時的にブロックするような処理を入れても、見た目の回転はなくなりますが、Activityは再生成されてしまいます。

そこで、android:configChanges属性を使って対応する方法があります。