Dans certains cas, il est possible de réaliser la même tâche avec un AsyncTask
ou Service
mais généralement, est mieux adapté à une tâche que l'autre.
AsyncTask
s sont conçus pour une fois-off de temps des tâches qui ne peut pas être exécuté de la thread de l'INTERFACE utilisateur. Un exemple courant est l'extraction/traitement de données lorsqu'un bouton est enfoncé.
Service
s sont conçus pour être continuellement en cours d'exécution en arrière-plan. Dans l'exemple ci-dessus de l'extraction de données lorsqu'un bouton est enfoncé, vous pouvez démarrer un service, de le laisser récupérer les données, puis de l'arrêter, mais c'est inefficace. Il est beaucoup plus rapide d'utiliser un AsyncTask
qui sera exécuté une fois, renvoyer les données, et être fait.
Si vous avez besoin d'être continuellement faire quelque chose dans le fond, même si, Service
est votre meilleur pari. Des exemples de jouer de la musique, continuellement vérifier les nouvelles données, etc.
Aussi, comme Il l'a déjà dit, les services ne sont pas nécessairement hors de la thread de l'INTERFACE utilisateur.
Pour la plupart, Service
s sont pour lorsque vous souhaitez exécuter du code, même lorsque votre application est Activity
n'est pas ouvert. AsyncTask
s sont conçus pour rendre l'exécution de code du thread d'INTERFACE utilisateur incroyablement simple.