Comment puis-je savoir que OnResume vient après onCreate?
J'ai peu d'activités et d'une activité que j'ai ouvert un autre et qui remontent à la première...
Le point est onCreate est appelé , et onResume à chaque fois lorsque l'activité est de montrer. Par exemple, quand je ferme les B qui était previouslly a commencé à partir de Un, le onResume est appelé, mais pas onCreate....
mon problème est que je ne veux pas courir le onResume si elle vient après onCreate, je veux exécuter le code que si onCreate n'était pas appelé
Est-ce possible de le faire SANS statique drapeau ?
est-il une méthode ou un drapeau de android, comme comesAfterOnCreate ?
@Override
protected void onResume() {
if(comesAfterOnCreate){
//DO not run this code
}else{
//run the long task
}
Je montre beaucoup de réponses avec la solution statique à l'aide de drapeau, Merci à vous tous pour l'effort et en offrant de l'aide, mais j'ai été intéressé est-il une méthode ou quelque chose...
source d'informationauteur Lukap
Vous devez vous connecter pour publier un commentaire.
ce n'est pas un travail difficile, vous pouvez utiliser
boolean
ou voir ici Est-ce possible de vérifier a été onCreate appelé à cause de changement d'orientation?Essayer cela,
Maintenant, lorsque l'Acitivité va terminer la valeur de l'indicateur sera faux à nouveau et
onResume()
sera appelée avec la valeur false.Espérons que cela fonctionne pour vous.
De sorte que dans mon commentaire:
Comme indiqué dans le Activité - Android Documentation.
Une activité a essentiellement quatre états:
1. Si une activité dans le premier plan de l'écran (en haut de la pile), il est actif ou en cours d'exécution.
2. Si une activité a perdu le focus, mais est toujours visible (qui est, une nouvelle non complet-de la taille ou de la transparence de l'activité a le focus sur le dessus de votre activité), il est en pause. Une pause de l'activité est tout à fait vivante (il maintient l'ensemble de l'état et de l'information des membres et reste attaché à la fenêtre du gestionnaire), mais peut être tué par le système dans l'extrême insuffisance de mémoire.
3. Si une activité est complètement masqué par une autre activité, il est arrêté. Il conserve encore tout de l'état et de l'information des membres, cependant, il n'est plus visible pour l'utilisateur, de sorte que sa fenêtre est cachée et il sera souvent tués par le système lorsque la mémoire est nécessaire ailleurs.
4. Si une activité est en pause ou à l'arrêt, le système peut déplacer de l'activité de la mémoire en soit, il demande à la fin, ou tout simplement le meurtre de son processus. Quand il est de nouveau affiché à l'utilisateur, il doit être redémarré et restauré à son état précédent.
Ici, c'est le cycle de vie d'une activité, comme indiqué dans l'Android documentation:
Il y a trois boucles clés vous pouvez être intéressé par la surveillance au sein de votre activité:
1. L'ensemble de la durée de vie d'une activité qui se passe entre le premier appel à onCreate(Bundle) grâce à un simple appel final à onDestroy(). Une activité qui va faire tout le programme d'installation de "global" de l'état dans onCreate(), et la libération de toutes les ressources restantes dans onDestroy(). Par exemple, si elle a un thread en cours d'exécution en arrière-plan pour télécharger des données depuis le réseau, il peut créer ce thread dans onCreate() et puis arrêter le fil en onDestroy().
2. Le visible durée de vie d'une activité qui se passe entre un appel à onStart() jusqu'à ce qu'un appel correspondant à onStop(). Pendant ce temps, l'utilisateur peut voir l'activité sur l'écran, si elle ne peut pas être au premier plan, et l'interaction avec l'utilisateur. Entre ces deux méthodes que vous pouvez maintenir les ressources qui sont nécessaires pour montrer l'activité de l'utilisateur. Par exemple, vous pouvez enregistrer un BroadcastReceiver dans onStart() afin de surveiller les changements qui touchent votre INTERFACE utilisateur, et d'annuler l'inscription dans onStop() lorsque l'utilisateur de ne plus voir ce que vous êtes en affichage. Le onStart() et onStop() peut être appelée plusieurs fois, que l'activité devient visible et caché à l'utilisateur.
3. Le premier plan de la durée de vie d'une activité qui se passe entre un appel à onResume() jusqu'à ce qu'un appel correspondant à onPause(). Pendant ce temps, l'activité est en face de toutes les autres activités et l'interaction avec l'utilisateur. Une activité peut souvent passer entre la reprise et la mise en pause des états -- par exemple lorsque l'appareil se met en veille, lorsqu'une activité a lieu, lorsqu'une nouvelle intention est livré-la de sorte que le code de ces méthodes devrait être assez léger.
Conclusion: Vous ne pouvez pas modifier l'ordre de cycle de vie de l'exécution.
Essayer, y compris les toasts dans OnCreate et OnResume et de tester si le "onResume" toast vient lorsque vous exécutez l'application, avant le OnCreate de pain grillé. Ou imprimer un message de Journal à partir de la méthode
La chose I @suri est droit. mais si vous voulez être plus clair avec
onCreate()
etonResume()
puis mettre
C'est plus simple pour vérifier votre question.