Mise à jour d'avril 2013: ne faites pas ça. Ce n'était pas une bonne idée en 2009 lorsque j'ai répondu pour la première fois à la question et ce n'est vraiment pas une bonne idée maintenant. Voir cette réponse par hackbod pour des raisons:
Évitez de recharger l'activité avec asynctask sur le changement d'orientation dans Android
Ajoutez android:configChanges="keyboardHidden|orientation"
à votre AndroidManifest.xml. Cela indique au système les modifications de configuration que vous allez gérer vous-même - dans ce cas, en ne faisant rien.
<activity android:name="MainActivity"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation">
Voir ConfigChanges de référence pour les développeurs pour plus de détails.
Cependant, votre application peut être interrompue à tout moment, par exemple par un appel téléphonique, vous devez donc vraiment ajouter du code pour enregistrer l'état de votre application lorsqu'elle est en pause.
Mise à jour: à partir d'Android 3.2, vous devez également ajouter "screenSize":
<activity
android:name="MainActivity"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation|screenSize">
À partir du guide du développeur Gérer vous-même la configuration
Attention: à partir d'Android 3.2 (API niveau 13), la "taille d'écran" change également lorsque l'appareil bascule entre l'orientation portrait et paysage. Ainsi, si vous souhaitez empêcher les redémarrages de l'exécution en raison d'un changement d'orientation lors du développement pour l'API de niveau 13 ou supérieur (comme déclaré par les attributs minSdkVersion et targetSdkVersion), vous devez inclure la valeur "screenSize" en plus de la valeur "orientation". Autrement dit, vous devez déclarer
android:configChanges="orientation|screenSize"
. Cependant, si votre application cible l'API de niveau 12 ou inférieur, votre activité gère toujours cette modification de configuration elle-même (cette modification de configuration ne redémarre pas votre activité, même lorsqu'elle s'exécute sur un appareil Android 3.2 ou supérieur).