l'application se bloque sur le changement d'orientation lors de l'utilisation ProgressDialog avec filetage

StackOverflow https://stackoverflow.com/questions/7358265

Question

-> Je l'ai mis en œuvre dans le filetage de ma première activité. Et fait l'utilisation de dialogue de progression également. Alors maintenant, au cours de l'orientation (de cet écran uniquement) ma plante application - donne exception de fuite de mémoire était. Et comme une solution de ce que j'ai connu d'ici seulement que je devrais mettre

android:configChanges="keyboardHidden|orientation"

Mais maintenant ma méthode onCreate () de cette activité n'est pas appelé, et il me faut appeler cette méthode sur orientationChanges. Alors, que dois-je faire à ce stade?

Était-ce utile?

La solution

Découvrez ce blog:

http: // blog.doityourselfandroid.com/2010/11/14/handling-progress-dialogs-and-screen-orientation-changes/

Il y a aussi d'autres questions similaires ici sur stackoverflow: Comment gérer le changement d'orientation de l'écran lorsque le progrès dialogue et fil d'arrière-plan actif?

Je l'ai connu, si vous utilisez la première option, que l'émulateur a un bug qui fait appel onCreate () deux fois -. Provoquant un accident, mais il ne devrait pas être un problème sur un appareil réel

Autres conseils

Ajoutez ceci à votre fichier manifest

  android:screenOrientation="landscape" or android:screenOrientation="portrait"

exemple:

 <activity android:name=".SomeActivity"
              android:label="@string/app_name"
              android:screenOrientation="portrait">

Voulez-vous vraiment gérer les changements de orietation pour vous application?

Dans le cas contraire, vous pouvez définir l'attribut screenOrientation dans le fichier manifest.xml, de sorte que votre application gardera dans cette orientation, peu importe l'orientation de votre téléphone est.

Si vous le faites, vous devez remplacer cette méthode public void onConfigurationChanged (Configuration newConfig), ici vous pouvez gérer la configuration (orientation, clavier caché, etc.) change pour vous app. Si vous ne remplacez pas, le système sera tout simplement l'arrêt vous app et redémarrez-le. Cela entraînerait une fuite de mémoire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top