Service
est une classe de base de la mise en œuvre du service. Service
s'exécute sur le thread principal de l'application, ce qui peut réduire les performances de l'application. Ainsi, IntentService
qui est une sous-classe directe de Service est disponible pour faciliter les choses.
En IntentService
est utilisé pour effectuer une certaine tâche en arrière-plan. Une fois effectuée, l'instance de IntentService
se termine automatiquement. Il peut être utilisé, par exemple, pour télécharger une certaine ressource sur l'Internet.
Différences
-
Service
utilise le thread principal de l'application, tandis que la classe IntentService
crée un thread de travailleur et utilise ce thread pour exécuter le service.
-
IntentService
crée une file d'attente qui passe une intention à la fois à onHandleIntent()
. Ainsi, l'implémentation d'un multithread doit se faire en étendant le module Service
directement. Service
La classe a besoin d'un manuel pour arrêter d'utiliser stopSelf()
. En attendant, IntentService
s'arrête automatiquement lorsqu'il termine son exécution.
-
IntentService
met en œuvre onBind()
qui renvoie null
. Cela signifie que le IntentService
ne peuvent pas être liés par défaut.
-
IntentService
met en œuvre onStartCommand()
qui envoie un Intent à la file d'attente et à onHandleIntent()
.
En bref, il n'y a que deux choses à faire pour utiliser IntentService
. Premièrement, pour implémenter le constructeur. Et deuxièmement, pour implémenter onHandleIntent()
. Pour les autres méthodes de rappel, il est nécessaire d'appeler le super pour qu'il puisse être suivi correctement.
2 votes
techtej.blogspot.com.es/2011/03/
6 votes
Très bonne comparaison ici : stackoverflow.com/questions/15524280/service-vs-intent-service
1 votes
S'il vous plaît, allez sur les liens ci-dessus, ils sont vraiment TROP BIEN... un grand merci pour eux...
1 votes
En quoi une question plus ancienne est-elle un doublon d'une question plus récente ?