Comment arrêter le gestionnaire?
J'ai un doute .. vais avoir un virage, dans une activité, dans mon application. Bien que mon activité a détruit le gestionnaire encore en fonctionnement. Est-il en cours d'exécution sur les différents processus autre que le processus de demande ? Pouvait-on plz expliquer pourquoi son travail comme ?
Est-il possible d'arrêter le gestionnaire de tout onDestroy de l'activité ?
Merci à l'avance.
- Il serait utile si vous avez donné les détails de la gestionnaire, encore mieux si vous avez publié sur le code. Aussi, ne vous instanciez le gestionnaire sur un autre fil?
Vous devez vous connecter pour publier un commentaire.
Comme décrit dans la documentation
http://developer.android.com/reference/android/os/Handler.html
"Chaque instance de Gestionnaire est associé à un fil et ce fil de message de la file d'attente."
Lorsque vous êtes sur le point de terminer votre activité, par exemple dans
onDestroy()
vous avez également besoin d'annuler le rappel pour l'exécutable, il a été lancé pour:Vous pouvez le faire même sans vérifier si l'exécutable a été déjà ouvert le feu pendant votre activité est active.
Mise à JOUR:
Il y a deux cas à considérer:
1.) Vous avez mis en place votre Gestionnaire dans une manière que vous avez créé une nouvelle classe pour l'Exécutable, par exemple
Habituellement, vous devez avoir à faire si vous avez de départ retardé praticable avec l'actuel ensemble de paramètres (qui peut changer jusqu'à ce que praticable incendies). Pour annuler, vous devez utiliser
2.) Si vous êtes à la volée appel (JPM merci pour le commentaire)
Ensuite, vous devez définir le "quoi" de la valeur pour ce Message. Plus tard, si vous avez besoin de l'annuler, vous pouvez utiliser
pour effectuer cette tâche.
voulez-vous dire que vous avez un fil quelque part dans votre activité? l'arrêt d'un thread est assez facile, vous avez besoin d'avoir une référence pour ce thread. comme:
et quand vous voulez l'arrêter, il suffit de vérifier si la référence n'est pas nulle et call interrompre méthode:
espère que ça aidera
J'aime Zelimir de réponse, seulement un peu plus d'info sur la question de l'Android n'est pas de définir des limites pour une de vie de l'application, l'application est créé au premier démarrage, et peut reste vivant entre plusieurs Activités onCreate/onDestroy cycles. Les gestionnaires sont associés avec l'Application unique de l'événement principal de fil/de la file d'attente, donc une activité ne peut pas "arrêter" (même si vous avez probablement pu le faire via le Gestionnaire.getLooper().quit(), mais je ne suis pas sûr si ça ne va pas causer des problèmes. Vous pouvez également tuer ensemble de l'application, comme décrit ici ici).
Probablement Android concept est à la réutilisation des instances d'Applications autant que possible, de sorte que votre principale préoccupation lors du développement d'une Activité de la clairance de l'Activité les ressources sur les onDestroy appel. Les variables statiques, les threads, AsyncTasks et les messages/rappels dans les gestionnaires sont les éléments à s'inquiéter.