Je suis peu confus entre le cycle de vie de deux activités.
Supposons que j'ai l'activité A et l'activité B.
B est appelé From A i.e A ----> B
.
Maintenant, B
est actuellement à l'écran et j'ai appuyé sur le bouton de retour. Ici, je veux savoir: - y a-t-il encore de la mémoire disponible pour la mémoire de B
(active) ou B
est vidée (inactive).
Supposons qu'il existe une activité A, à partir de laquelle vous lancez l'activité B. Si, pendant l'activité B, vous appuyez sur le bouton de retour, vous supprimez l'activité B de la pile et B ne sera plus dans la pile d'activités.
Chaque fois que vous poussez une activité vers la pile, onCreate
est appelée et si vous appuyez sur le bouton de retour, onDestroy
est appelée, ce qui signifie que l'activité est supprimée.
Veuillez visiter mon blog pour plus d'informations: http://upadhyayjiteshandroid.blogspot.in/2013/02/Android-lifecycle.html
s'il vous plaît visitez pour plus
http://developer.Android.com/guide/components/tasks-and-back-stack.html
http://developer.Android.com/training/basics/activity-lifecycle/starting.html
Les méthodes de rappel d'activité suivantes sont appelées, après avoir appuyé sur le bouton Retour.
onPause()
onStop()
onDestroy()
L'activité est détruite.
Et il se recrée lorsqu'il est relancé. Ce sont les méthodes de rappel lors de son nouveau lancement.
onCreate()
onStart()
onResume()
La méthode onDestroy
est appelée après une nouvelle pression. Ensuite, l'activité sera extraite de la pile arrière d'activité.
Si une activité est suspendue ou arrêtée, le système peut supprimer l'activité de la mémoire soit en lui demandant de terminer, soit en tuant simplement son processus. Lorsqu'il est à nouveau affiché à l'utilisateur, il doit être complètement redémarré et restauré à son état précédent.
onDestroy()
à partir de documents :
Le dernier appel que vous recevez avant que votre activité ne soit détruite. Cela peut se produire soit parce que l'activité se termine (quelqu'un appelé
finish()
dessus, soit parce que le système détruit temporairement cette instance de l'activité pour économiser de l'espace . Vous pouvez distinguer ces deux scénarios avec la méthodeisFinishing()
.
Je sais que la réponse a été acceptée, mais si cela aide quelqu'un, je la mets.
Lorsque l'application s'ouvre pour la première fois, en cliquant sur l'icône
onCreate()
onStart()
onResume()
Lorsque le bouton d'accueil est enfoncé
onPause()
onStop()
lorsque l'application est à nouveau ouverte en cliquant sur l'icône de l'application ou lancée à partir de la récente
onRestart()
onStart()
onResume()
lorsque l'application est ouverte et que le bouton retour est enfoncé
onPause()
onStop()
onDestroy()
L'activité B sera détruite et ne restera plus en mémoire.
Pour plus d'informations, visitez le documentation officielle pour Android et jetez un œil à la figure du cycle de vie de l'activité.
Une fois que vous appuyez sur la touche Retour, la méthode onDestroy () de l'activité sera appelée et l'activité sera supprimée de la mémoire. Vous devrez ensuite redémarrer l'activité en appelant la méthode startActivity () qui à son tour appellera sa méthode onCreate ().
Je suggère de faire référence au lien suivant pour le cycle de vie de l'activité
http://stackoverflow.com/a/8516056/3110609
et le lien suivant pour le mode de lancement de l'activité.
www.intridea.com/blog/2011/6/16/Android-understanding-activity-launchmode
Après avoir appuyé sur le bouton de retour, l'activité B sera détruite. Vous voyez, Android Gère les activités comme un Stack (une explication d'une pile) . Chaque fois que vous démarrez une activité, il pousse dans la pile d'activités. Donc, lorsque l'activité A appelle l'activité B, l'activité B est maintenant au-dessus de l'activité B, et lorsque vous appuyez sur le bouton de retour, il fait également un pop dans la pile d'activités. Donc, dans le concept, l'activité B a disparu. Appuyer sur un bouton d'accueil est différent de presser , il interrompt l'activité, il consomme donc encore un peu de mémoire du téléphone.
Ici est une bonne explication de la façon dont Android Gère les activités.