Heim > Java > javaLernprogramm > Wie poste ich Aufgaben aus einem anderen Thread im Android-Hauptthread?

Wie poste ich Aufgaben aus einem anderen Thread im Android-Hauptthread?

Mary-Kate Olsen
Freigeben: 2024-12-09 04:59:18
Original
242 Leute haben es durchsucht

How to Post Tasks to the Android Main Thread from Another Thread?

Aufgaben aus einem anderen Thread im Android-Dienst im Hauptthread veröffentlichen

In Android-Diensten kann es beim Erstellen von Threads für Hintergrundaufgaben erforderlich sein, bestimmte Aufgaben zu veröffentlichen, wie Runnables, in der Nachrichtenwarteschlange des Hauptthreads von einem anderen Thread.

Um dies zu erreichen, stellt Android zwei bereit Lösungen:

Ein Kontextobjekt verwenden

Wenn der Hintergrundthread einen Verweis auf ein Kontextobjekt hat, können Sie wie folgt auf den Handler des Hauptthreads zugreifen:

// Get a handler that can be used to post to the main thread
Handler mainHandler = new Handler(context.getMainLooper());

Runnable myRunnable = new Runnable() {
    @Override 
    public void run() {....} // This is your code
};
mainHandler.post(myRunnable);
Nach dem Login kopieren

Ohne Verwenden eines Kontextobjekts

Wenn der Hintergrundthread kein Kontextobjekt hat, können Sie direkt auf den Looper des Hauptthreads zugreifen und einen erstellen Handler:

// Get a handler that can be used to post to the main thread
Handler mainHandler = new Handler(Looper.getMainLooper());

Runnable myRunnable = new Runnable() {
    @Override 
    public void run() {....} // This is your code
};
mainHandler.post(myRunnable);
Nach dem Login kopieren

Mit jedem dieser Ansätze können Sie Aufgaben in der Nachrichtenwarteschlange des Hauptthreads posten und sicherstellen, dass sie im Hauptthread ausgeführt werden, sodass Sie UI-Komponenten aktualisieren oder andere Vorgänge ausführen können, die Zugriff erfordern zu den Hauptressourcen der Anwendung.

Das obige ist der detaillierte Inhalt vonWie poste ich Aufgaben aus einem anderen Thread im Android-Hauptthread?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage