Heim >Java >javaLernprogramm >Wie poste ich Runnables von Hintergrundthreads im Hauptthread in Android?

Wie poste ich Runnables von Hintergrundthreads im Hauptthread in Android?

Susan Sarandon
Susan SarandonOriginal
2024-12-04 18:52:12656Durchsuche

How to Post Runnables from Background Threads to the Main Thread in Android?

Posten aus anderen Threads im Hauptthread

In Android-Diensten ist es oft notwendig, dass Hintergrundthreads mit dem Hauptthread interagieren, B. das Veröffentlichen von Runnables in der Nachrichtenwarteschlange. Um dies zu erreichen, ziehen Sie die folgenden Lösungen in Betracht:

Lösung 1: Verwendung eines Kontextobjekts

Wenn der Hintergrundthread Zugriff auf ein Kontextobjekt (z. B. Anwendung oder Dienst) hat Kontext) kann es einen Handler für den Hauptthread erhalten mit:

Handler mainHandler = new Handler(context.getMainLooper());

Anschließend können Sie ein Runnable wie folgt im Hauptthread posten Dies:

mainHandler.post(myRunnable);

Lösung 2: Verwenden von Looper.getMainLooper()

Wenn der Hintergrundthread kein Kontextobjekt hat, können Sie trotzdem die des Hauptthreads abrufen Looper mit:

Handler mainHandler = new Handler(Looper.getMainLooper());

Damit können Sie Runnables im Hauptthread posten als na ja:

mainHandler.post(myRunnable);

Das obige ist der detaillierte Inhalt vonWie poste ich Runnables von Hintergrundthreads im Hauptthread in Android?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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