J'ai une application qui est une activité.Confusion sur le cycle de vie de l'activité Android
Tout fonctionne comme je m'attendais, sauf quand je mets le téléphone (un Samsung Galaxy Ace en cours d'exécution Gingerbread) pour dormir avec le bouton sur le côté. Lorsque je fais cela, les éléments suivants sont appelés (dans cet ordre):
onPause, onStop, onDestroy, onCreate, onStart, onResume, onPause.
Ceci est sans réveiller le téléphone, il est encore endormi - l'écran est éteint. Pourquoi l'activité est-elle complètement tuée et recréée? Pourquoi?
Encore plus bizarre, si le téléphone est rallumé ce qui suit se produit:
onResume, OnPause, onStop, onDestroyed, onCreate, onStart, onResume
Même si elle est « prêt à aller "(assis sur la pause), il est tué et recréé à nouveau.
Si l'application est en cours d'exécution et que j'appuie sur Accueil alors l'activité est seulement arrêtée, pas tuée, une fois arrêtée, je peux alors mettre le téléphone en veille puis le réveiller et l'activité n'est jamais tuée. Il va juste à onRestart etc ... qui est ce que je m'attendais.
Ce problème se produit uniquement lorsque le téléphone est mis en veille pendant que l'activité est en cours d'exécution (et au premier plan).
J'ai lu les documents sur le cycle de vie des activités mais je n'arrive pas à comprendre pourquoi ce problème se produit.
Avez-vous vu ceci plusieurs fois? Je me demande si vous avez accidentellement incliné le téléphone pour provoquer un changement d'orientation lorsque vous l'avez éteint, ce qui a ensuite été traité avant que le téléphone se mette en veille. Cela causerait exactement ce que vous avez vu. – HexAndBugs
Salut @flightplanner, merci pour le commentaire, je l'ai essayé plusieurs fois - il arrive à chaque fois. Aussi, j'ai également essayé de tenir le téléphone stable dans les orientations horizontales et verticales en faisant cela en faisant très attention de ne pas incliner le téléphone. – Zippy
Votre orientation 'Activity' est-elle définie sur' landscape' uniquement? –