Nisan 2013 Güncellemesi: Bunu yapma. 2009 yılında soruyu ilk cevapladığımda iyi bir fikir değildi ve şimdi gerçekten iyi bir fikir değil. Nedenlerle hackbod'un bu cevabına bakın:
Android'de yön değiştirme konusunda zaman uyumsuz etkinlik yeniden yükleme kaçının
android:configChanges="keyboardHidden|orientation"
AndroidManifest.xml'inize ekleyin . Bu, sisteme hangi yapılandırma değişikliklerini kendiniz gerçekleştireceğinizi söyler - bu durumda hiçbir şey yapmadan.
<activity android:name="MainActivity"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation">
Daha fazla bilgi için bkz. Geliştirici referansı yapılandırmaDeğiştirmeleri .
Ancak, uygulamanız herhangi bir zamanda, örneğin bir telefon görüşmesi ile kesilebilir; bu nedenle, duraklatıldığında uygulamanızın durumunu kaydetmek için gerçekten kod eklemeniz gerekir.
Güncelleme: Android 3.2'den itibaren "screenSize" eklemeniz gerekiyor:
<activity
android:name="MainActivity"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation|screenSize">
Geliştirici kılavuzundan Yapılandırmayı Kullanma Kendinizi Değiştirin
Dikkat: Android 3.2'den (API seviye 13) başlayarak, cihaz ekran ve yatay yön arasında geçiş yaptığında "ekran boyutu" da değişir. Bu nedenle, API düzeyi 13 veya üstü için geliştirirken (minSdkVersion ve targetSdkVersion öznitelikleri tarafından bildirildiği gibi) yön değiştirme nedeniyle çalışma zamanı yeniden başlatmalarını önlemek istiyorsanız, "yönlendirme" değerine ek olarak "screenSize" değerini de eklemeniz gerekir. Yani, beyan etmelisin
android:configChanges="orientation|screenSize"
. Ancak, uygulamanız API seviye 12 veya daha düşük bir sürümü hedefliyorsa, etkinliğiniz her zaman bu yapılandırma değişikliğini kendisi yapar (bu yapılandırma değişikliği, bir Android 3.2 veya daha yüksek cihazda çalışırken bile etkinliğinizi yeniden başlatmaz).