2013 년 4 월 업데이트 :이 작업을 수행하지 마십시오. 내가 처음 질문에 대답했을 때 2009 년에는 좋은 생각이 아니었고 지금은 실제로 좋은 생각이 아닙니다. 다음과 같은 이유로 hackbod의이 답변을 참조하십시오.
안드로이드에서 방향 변경시 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 이상 디바이스에서 실행중인 경우에도 활동을 다시 시작하지 않습니다).