Remarques sur le traitement des threads Android (java)

introduction

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.

Différence entre Thread et Runnnable

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 (et Looper)

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. android-thread-looper-handler.png

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

Remarques sur le traitement des threads Android (java)
Traitement des threads Java
[Android] Notes sur xml
Exécutez node.js depuis Android Java (traitement)
note java
Remarques sur le contrôle du signal en Java
Remarques sur l'appel du programme d'installation sur l'application Android
Remarques sur le chemin et le package Java
Traitement asynchrone par RxJava (RxAndroid) sur Android
Appeler java depuis C ++ sur Android NDK
Remarques sur les opérateurs utilisant Java ~ Type chaîne ~
Remarques sur la création d'un plug-in Android pour Unity
Traitement des threads de l'interface utilisateur asynchrone Android
Génériques Java (Notes)
[Android] Notes détaillées
Traitement des chaînes Java
[Java] Notes d'étude
Notes de sérialisation Java
[Java] Traitement multi-thread
[Java] Traitement de flux
traitement itératif java
Essayez d'utiliser Firebase Cloud Functions sur Android (Java)
Remarques sur le rappel de TextToSpeech
Essayez la communication en utilisant gRPC sur un serveur Android + Java
Télécharger et télécharger des notes en java sur S3
Remarques sur les tampons de protocole
[Java] Remarque sur les collecteurs de flux
Sortie au format Java [Note]
Installez Java sur Mac
[Java] Thread et exécutable
mémo python sur docker
Exécutez PostgreSQL sur Java
[Java] Note sur la syntaxe de contrôle
Remarques sur le fil de discussion Ruby # [] = méthode
[Android / Kotlin] Notes détaillées 2
Notes de révision de Java NIO 2
Notes sur les expressions régulières
Résumé des threads sûrs ~ Java ~
Essayez la classification d'image à l'aide de TensorFlow Lite sur Android (JAVA)
Traitement des appels du constructeur JAVA
Remarques sur le studio Android
Java aléatoire, divers traitements
Exécuter le traitement sur Ant
[Java] Notes de méthode de base
Remarques sur l'utilisation des expressions régulières en Java
Thread de programmation Java exécutable
Gestion des versions Java sur macOS
Personnaliser la vue de liste sur Android
Bibliothèque de transmission en plusieurs parties sur Android
[Java] Nouvelle méthode de génération de threads (2)
[Java] Traitement multi-thread - Contrôle exclusif
Rétrograder Java sur openSUSE Linux
Essayez de gratter en utilisant Java [Note]
Utiliser la communication série sur Android
Réflexion sur la manipulation de chaînes Java
En passant Java Gold SE 8
Oracle Java 8 sur Docker Ubuntu
[Implémentation] Notes de classe de processus java
Notes de révision de Java Collections Framework
Utiliser la communication série sur Android
Essayez la communication en utilisant gRPC sur un serveur Android + Java
[Android] Notes sur xml