Il existe de nombreuses méthodes de traitement des threads dans l'implémentation Android, je l'ai donc étudiée. J'ai brièvement résumé chaque concept.
Thead et Runnable sont des fonctionnalités fournies par Java Pour créer une méthode qui s'exécute sur un thread, vous devez _ laisser la classe que vous voulez thread hériter de la classe Thread_.
Cependant, s'il existe une classe qui hérite déjà d'une autre classe, la classe Thead ne peut pas être héritée. Utilisez donc plutôt Runnable comme implémentation.
Handler (and Looper) est une fonction fournie par Android qui échange des threads (pas une fonction de thread). L'interface utilisateur Android se bloque avec une exception lorsqu'elle est accédée par un thread autre que le thread principal. Le gestionnaire peut être utilisé pour passer d'un autre thread au thread principal.
Le Looper est requis en plus du Handler pour passer d'un autre thread à un autre thread. Vous n'avez pas besoin d'un Looper pour établir un pont avec le thread principal, car le thread principal a déjà un Looper en interne.
HandlerTask HandlerTask est une classe qui étend Thead of Java, une fonction fournie par Android. Le Looper est automatiquement préparé au moment de la génération. Les données peuvent être échangées entre les threads à l'aide de Handler.
AsyncTask AsyncTask est une fonctionnalité fournie par Android Vous pouvez traiter l'interface utilisateur dans une autre tâche. La principale caractéristique est que "le traitement dans le thread principal est possible même pendant le traitement asynchrone" (que vous n'avez pas besoin d'utiliser Handler) Cependant, seuls les traitements qui peuvent être achevés en peu de temps peuvent être utilisés.
Référence: [Thread, Looper, Handler qui maîtrise l'arrière-plan Android] 1
Recommended Posts