Tutoriel recommandé : Tutoriel Android
Cet article présente brièvement l'activité cycle de vie, le contenu provient principalement de documents officiels.
Avant de décrire brièvement chaque méthode de cycle de vie, donnons un aperçu global. Nous pouvons surveiller le cycle de vie de l'activité à partir de trois niveaux
Cycle de vie complet : le cycle de vie complet commence par le rappel de la méthode onCreate et se termine par le rappel de la méthode onDestroy
Cycle visible : le le cycle visible commence Le cycle de premier plan commence à partir du rappel de la méthode onResume et se termine au rappel de la méthode onPause
Ce qui suit est une brève introduction Examinons chaque méthode de cycle de vie :
onCreate La première méthode du cycle de vie, , indique que l'activité est en cours de création (démarrage). Note spéciale : si vous appelez la méthode finish au sein de cette méthode, le rappel onDestroy sera déclenché immédiatement et les autres cycles de vie ne seront pas exécutés
onRestart La prémisse pour que cette méthode soit déclenchée : la méthode onStop est appelée. La méthode onStop est appelée lorsque l'activité est invisible et redevient visible. Une fois cette méthode rappelée, le système déclenchera les méthodes onStart et onResume l'une après l'autre.
onStart est appelé lorsque l'activité est visible (l'activité n'est pas au premier plan à ce moment) : appelé après la méthode onCreate ou lorsque l'activité est invisible car la méthode onStop est appelé, et l'activité est à nouveau visible
onResume Le rappel de cette méthode identifie que l'activité est au premier plan . La documentation officielle indique que cela est plus adapté au démarrage d'animations et à l'accès exclusif aux appareils (tels que les caméras)
onPause Activity est sur le point d'entrer en arrière-plan pour appeler cette méthode . Il est important de noter que si l'activité A démarre l'activité B, l'activité B ne sera pas créée tant que le rappel de la méthode onPause de l'activité A n'est pas terminé. N'effectuez donc pas d'opérations fastidieuses dans cette méthode de rappel.
onStop Cette méthode est appelée lorsque l'activité passe de visible à invisible
onDestroy La dernière méthode du cycle de vie, indiquant que l'activité est sur le point d'être détruit. La documentation officielle indique que dans certains cas, le système tuera simplement et grossièrement le processus hôte d'activité (comme indiqué 1 dans le diagramme ci-dessous), nous ne devrions donc pas nous fier à cette méthode pour le stockage des données, mais pouvons utiliser cette méthode pour libérer les ressources. fonctionnement
L'image suivante est le schéma donné dans le document officiel Schéma du cycle de vie de l'activitéCette image est très claire et rigoureuse , mais la description officielle de chaque méthode de rappel du cycle de vie dans le document n'est pas très détaillée, donc si vous ne lisez pas attentivement le document, il sera difficile de comprendre la direction des méthodes de cycle de vie dans l'image, et vous pourriez mal comprendre certaines méthodes. Par exemple, certains enfants peuvent mal comprendre la méthode onStop et croire à tort que cette méthode est appelée lorsque l'activité entre en arrière-plan. En fait, la méthode onPause est appelée lorsqu'elle entre en arrière-plan et la méthode onStop est appelée lorsqu'elle est invisible. les enfants croient à tort que la méthode onResume est rappelée. L'interaction est possible. En fait, nous devrions déterminer si l'interaction est possible en fonction du paramètre hasFocus dans le rappel public void onWindowFocusChanged (boolean hasFocus).Que l'activité soit visible ou non et qu'elle soit au premier plan sont deux choses différentes , onStart et onStop sont associés pour décrire si l'activité est visible onPause et onResume ; sont appariés pour décrire si l'activité est au premier plan. La visibilité d'une activité ne signifie pas qu'il est possible d'interagir avec elle, et de même, il se peut qu'il ne soit pas possible d'interagir avec elle si elle est au premier plan. Un exemple direct est que si l'activité affiche une boîte de dialogue, l'activité est toujours au premier plan à ce moment-là, mais nous ne pouvons pas interagir avec l'activité
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!