2017-04-23 1 views
1

Si je crée une classe qui sous-classe IntentService et implémente LocationListener, toutes les méthodes de cette classe seront exécutées dans le thread de travail. Ou seulement la méthode onHandleIntent() s'exécute dans le thread de travail?Toutes les méthodes s'exécutent dans le thread de travail?

+2

Uniquement onHandleIntent ... IntentService n'est pas un bon choix pour cela ... Tout d'abord, il n'est pas nécessaire d'utiliser un autre thread avec LocationListener. Deuxièmement, IntentService est pour un travail ponctuel sur le thread de travail – Selvin

+0

Merci pour la réponse @Selvin. Savez-vous comment je peux faire fonctionner toutes les méthodes d'un service dans un thread de travail? –

+0

Première question est pour quoi? .... Mais si vous wana le faire juste commencer un nouveau fil. – Selvin

Répondre

0

La définition de l'endroit où une méthode est exécutée est définie par l'endroit où elle est appelée et non par la classe dans laquelle elle est définie.

La méthode onHandleIntent est appelée dans WorkerThread. Par conséquent, si vous appelez des méthodes de onHandleIntent, elles s'exécuteront dans WorkerThread.

Si vous appelez une méthode du service directement dans le thread UI, la méthode s'exécutera dans le thread UI.