Anleitungen

Was ist Android Looper?

Android Looper ist eine Java-Klasse innerhalb der Android-Benutzeroberfläche, die zusammen mit der Handler-Klasse UI-Ereignisse wie Schaltflächenklicks, Bildschirmneuzeichnungen und Ausrichtungswechsel verarbeitet. Sie können auch verwendet werden, um Inhalte auf einen HTTP-Dienst hochzuladen, die Größe von Bildern zu ändern und Remote-Anfragen auszuführen. Die Hauptfähigkeit dieser Klassen besteht darin, ein Parallelitätsmuster zu implementieren.

Zweck

Android verhindert, dass Programmierer UI-Komponenten aus den meisten Threads aktualisieren, mit Ausnahme des Hauptthreads. Mit Android Looper und Android Handler kann ein separater Thread erstellt werden, der die Benutzeroberfläche aktualisiert. Der Prozess umfasst das Erstellen einer Handler-Klasse, die dem primären Thread zugeordnet ist, und das anschließende Anfügen eines ausführbaren Befehls daran. Der Befehl wird dann später über den Looper implementiert.

Android Looper

Die Android Looper-Klasse enthält eine MessageQueue und ist nur dem Thread zugeordnet, aus dem sie erstellt wurde. Beachten Sie, dass diese Verbindung nicht unterbrochen werden kann und der Looper nicht an einen anderen Thread angeschlossen werden kann. Außerdem liegt der Looper im lokalen Speicher und kann nur von einer statischen Methode aufgerufen werden. Eine Prepare-Methode prüft, ob einem Thread bereits ein Looper zugeordnet ist, und dann erstellt die statische Methode den Looper. Danach kann eine Schleife verwendet werden, um nach Nachrichten in der Warteschlange zu suchen.

Android-Handler

Die Android-Handler-Klasse übernimmt das Hinzufügen, Entfernen und Aktualisieren von Nachrichten in einer bestimmten MessageQueue. Handler werden an Looper und die zugehörigen Threads angehängt, aber mehrere Handler können an einen einzelnen Thread angehängt werden. Immer wenn Methoden an den Handler übergeben werden, wird in der MessageQueue eine neue Nachricht angezeigt. Das Zielfeld der Nachricht ist für die Handler-Instanz konfiguriert. Wenn der Looper die Nachricht verarbeitet, leitet er die Nachricht direkt zurück an den Handler, sodass das Ereignis im entsprechenden Thread verarbeitet werden kann.

zusätzliche Information

Android Looper enthält 11 Methoden, darunter void, getMainLooper, getThread, loop, myLooper, myQueue, prepare, prepareMainLooper, quit, setMessageLogging und toString. Der Vorteil der Verwendung der Klassen Android Looper und Android Handler besteht darin, dass Entwickler aufgrund der Sorge um den gleichzeitigen Zugriff, d. H. Wenn ein Benutzer während der Aktualisierung auf eine Schaltfläche klickt, den Zugriff auf UI-Komponenten sperren müssen.

$config[zx-auto] not found$config[zx-overlay] not found