Le travail en arrière-plan dans mon application Android est fait en communiquant des processus séquentiels, ce qui signifie que les threads qui écoutent les commandes sur un BlockingQueue
.Android onPause: Pourquoi arrêter les threads du tout?
Les threads/acteurs sont initialisés dans MainApplication
.
Arrêter ces fils au cours d'une Activity.onPause
apporte une complication, par exemple des commandes sur le BlockingQueue
peuvent arriver avantonResume
est appelé.
Question 1: Pourquoi prendre la peine d'arrêter ces threads pendant ? Ils sont dans un état bloqué, ne font aucun travail, donc ils ne devraient pas avoir d'impact sur les performances.
Question 2: Lorsque puis onDestroy
est appelé, ce qui se passe à ces discussions? L'ART va-t-il les tuer? .interrupt()
eux? Y a-t-il un temps mort?
* ne fait aucun travail * ne vérifie-t-il pas s'il y a du travail à faire? –
Les threads sont en attente. –