Ich bin sowohl auf Handlers und runOnUiThread Konzepte gestoßen. Aber für mich scheint es immer noch zweifelhaft zu sein, auf welchen Fakten sie sich genau unterscheiden.Warum Handler verwenden, während runOnUiThread das gleiche tut?
Sie beide sollen UI-Aktionen von einem Hintergrundthread ausführen. Aber was sind die Faktoren, die berücksichtigt werden müssen, während wir zwischen den beiden Methoden wählen?
Zum Beispiel betrachtet ein Runnable
Thread
, die einen Web-Service im Hintergrund ausführt, und jetzt will ich die Benutzeroberfläche aktualisieren.
Was wäre der beste Weg, um meine Benutzeroberfläche zu aktualisieren? Sollte ich für Handler
oder runOnUiThread
gehen?
Ich weiß immer noch, ich könnte eine AsyncTask
verwenden und onPostExecute
verwenden. Aber ich will nur den Unterschied wissen.
'runOnUiThread' ist nur eine Abkürzung für das Veröffentlichen eines' Runnable' zu einem 'Handler'. "Handler" ist die Basis jeder (?) Cross-Thread-Kommunikationseinrichtung, die von Android definiert wird (z. B. "AsyncTask" verwendet "onPostExecute" einen "Handler", um das Ergebnis von "doInBackground" zu liefern). – zapl