2013年4月の更新:これを行わないでください。私が最初に質問に答えた2009年にはそれは良い考えではありませんでした、そしてそれは今では本当に良い考えではありません。理由については、hackbodによるこの回答を参照してください。
Androidの向きの変更時にasynctaskでアクティビティをリロードしないでください
android:configChanges="keyboardHidden|orientation"
AndroidManifest.xmlに追加します。これにより、自分で処理する構成の変更がシステムに通知されます。この場合は、何もしません。
<activity android:name="MainActivity"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation">
詳細については、開発者向けリファレンスconfigChanges を参照してください。
ただし、アプリケーションは電話などでいつでも中断される可能性があるため、一時停止したときにアプリケーションの状態を保存するコードを追加する必要があります。
更新: Android 3.2以降、「screenSize」も追加する必要があります。
<activity
android:name="MainActivity"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation|screenSize">
開発者ガイドから構成の処理自分で変更する
注意:Android 3.2(APIレベル13)以降、デバイスが縦向きと横向きを切り替えると、「画面サイズ」も変化します。したがって、APIレベル13以上(minSdkVersionおよびtargetSdkVersion属性で宣言されている)で開発するときに方向の変更によるランタイムの再起動を防ぎたい場合は、「orientation」値に加えて「screenSize」値を含める必要があります。つまり、を宣言する必要があります
android:configChanges="orientation|screenSize"
。ただし、アプリケーションがAPIレベル12以下を対象としている場合、アクティビティは常にこの構成変更自体を処理します(Android 3.2以降のデバイスで実行している場合でも、この構成変更によってアクティビティが再開されることはありません)。