J'écris un service qui utilise une tâche asynchrone pour effectuer certaines opérations réseau. Supposons que le doInBackground de l'AsyncTask prenne beaucoup de temps et, pendant ce temps, les ressources deviennent faibles et le système d'exploitation arrête le service.Ordre des opérations lorsqu'un service est arrêté
Quand asyncTask est-il tué? Est-ce que l'AsyncTask sera toujours en cours d'exécution quand onDestroy est appelé, ou est ce qu'il se produira après, ou suis-je responsable de l'arrêt de l'AsyncTask? J'essaye de m'assurer que je n'ai pas de conditions de concurrence entre le code dans mon onDestroy et le code dans mon doInBackground.
Juste curieux mais pourquoi utilisez-vous un AsyncTask dans un service? – Squonk
Le service s'exécute dans le même processus que l'application principale, donc je crois que dans ce cas, j'ai besoin d'utiliser un AsyncTask afin que l'accès au réseau du service ne bloque pas le thread ui principal. – lacker
a Un service est déjà en cours d'exécution sur son propre thread. Les tâches asynchrones sont destinées aux activités – Spidy