Android
Looper
Recherche…
Introduction
Un Looper
est une classe Android utilisée pour exécuter une boucle de message pour un thread, dont aucun ne leur est généralement associé.
Le Looper
le plus commun dans Android est la boucle principale, également connue sous le nom de thread principal. Cette instance est unique pour une application et peut être accédée de manière statique avec Looper.getMainLooper()
.
Si un Looper
est associé au thread en cours, il peut être récupéré avec Looper.myLooper()
.
Créer un LooperThread simple
Un exemple typique de l'implémentation d'un thread Looper
donné par la documentation officielle utilise Looper.prepare()
et Looper.loop()
et associe un Handler
à la boucle entre ces appels.
class LooperThread extends Thread {
public Handler mHandler;
public void run() {
Looper.prepare();
mHandler = new Handler() {
public void handleMessage(Message msg) {
// process incoming messages here
}
};
Looper.loop();
}
}
Exécuter une boucle avec un HandlerThread
Un HandlerThread
peut être utilisé pour démarrer un thread avec un Looper
. Ce looper peut alors être utilisé pour créer un Handler
pour les communications avec ce dernier.
HandlerThread thread = new HandlerThread("thread-name");
thread.start();
Handler handler = new Handler(thread.getLooper());