Cycle de vie de L'Activité Android après avoir appuyé sur le bouton Retour
je suis un 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ée à Partir d'Un je.e A ----> B
.
actuellement B
sur l'écran et j'ai appuyé sur bouton de retour. Ici je veux savoir: - y a-t-il encore de la mémoire disponible pour B
(Active) ou est flushée (Inactive).
7 réponses
supposons qu'il y ait une activité A, à partir de laquelle vous lancez l'activité B. Si, pendant que vous êtes à l'activité B, vous appuyez sur le bouton arrière, vous retirez l'activité B de la pile et B ne sera plus dans la pile d'activités.
Chaque fois que vous poussez une activité à la pile, onCreate
est appelé, et si vous appuyez sur le bouton de retour, onDestroy
est appelée, ce qui signifie que l'activité est évacuée.
s'il vous Plaît visitez mon blog pour plus d' information: http://upadhyayjiteshandroid.blogspot.in/2013/02/android-lifecycle.html
visitez pour plus d'
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 de retour.
onPause()
onStop()
onDestroy()
L'activité est détruite.
et il recrée une fois lancé à nouveau. Ce sont les méthodes de callback quand il se lance à nouveau.
onCreate()
onStart()
onResume()
onDestroy
la méthode est appelée après back press. Ensuite, l'activité sera retirée de la pile de retour de L'activité.
si une activité est interrompue ou arrêtée, le système baisse de l'activité de la mémoire soit en lui demandant de terminer, soit simplement en tuant son processus. Quand il est de nouveau affiché à l'utilisateur, il doit être redémarré et restauré à son état précédent.
onDestroy()
à partir de docs:
Le dernier appel que vous recevez avant votre activité est détruite. Cela peut se produire soit parce que l'activité est terminée (quelqu'un appelé
finish()
sur elle, ou parce que le système est temporairement détruire cette instance de l'activité pour économiser de l'espace. Vous pouvez faire la distinction entre ces deux scénarios avec l'isFinishing()
méthode.
L'activité B sera détruite et ne restera plus en mémoire.
pour de plus amples renseignements, veuillez visiter le documentation officielle pour android et jetez un coup d'oeil à la figure du cycle de vie de l'activité.
une fois que vous appuyez sur la touche back, la méthode onDestroy() de l'activité sera appelée et l'activité sera effacée de la mémoire. Vous devrez alors redémarrer l'activité en appelant la méthode startActivity() qui à son tour appellera son onCreate() de la Méthode.
voici un lien vers l'application que vous donnez une bonne idée sur le cycle de vie de L'Activité Android
je suggère de renvoyer le lien suivant pour le cycle de vie de l'activité
http://stackoverflow.com/a/8516056/3110609
et suivre le lien 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 arrière, L'activité B sera B détruite. Vous voyez, Android gère des activités comme un Pile(une explication de la pile). Chaque fois que vous commencez 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 sommet de l'activité B, et lorsque vous appuyez sur le bouton arrière, il fait aussi un pop dans la pile D'activités. Donc, dans le concept, L'activité B a disparu. Presser un bouton D'accueil est différent de presser en arrière, il marque une pause L'activité, donc il mange encore un peu de la mémoire du téléphone.
Ici est une bonne explication de la façon dont Android gère les activités.