[JAVA] Vergleich von Android Handler Looper und runOnUiThread

Wenn Sie von einem anderen Thread als dem UI-Thread aufrufen, sind die folgenden zwei Schreibmethoden identisch.

Looper.getMainLooper()



Runnable task = getTask();
new Handler(Looper.getMainLooper()).post(task);

Activity#runOnUiThread()


Runnable task = getTask();
runOnUiThread(task);

Beim Aufruf vom UI-Thread wird er im Fall von runOnUiThread gemäß der folgenden Quelle direkt im UI-Thread ausgeführt.

public final void runOnUiThread(Runnable action) {
    if (Thread.currentThread() != mUiThread) {
        mHandler.post(action);
    } else { //Direkt für UI-Threads ausführen
        action.run();
    }
}

Recommended Posts

Vergleich von Android Handler Looper und runOnUiThread
Gründlicher Vergleich von Android- und iOS-Implementierungen
[Java / Swift] Vergleich von Java-Schnittstelle und Swift-Protokoll
Vergleich von JavaScript-Objekten und Ruby-Klassen
Vergleich der Implementierung der Produktion, die Bilder auf iOS und Android zum Leuchten bringt
Chrome59 Vergleich von Normal- und Headless-Modus
Der Vergleich von enum ist == und gleich ist gut [Java]
Äquivalenter Vergleich von Java-Wrapper-Klasse und primitivem Typ
[Java] Vergleich von Zeichenketten und && und ||
Definition von Android-Konstanten
[Java] Vergleichsmethode für Zeichenketten und Vergleichsmethode mit regulären Ausdrücken