Unterschied ASyncTask - IntentService

  • 3 Antworten
  • Letztes Antwortdatum
C

capz0o

Neues Mitglied
0
Hallo zusammen,

ich habe mich jetzt etwas (auf Englisch) eingelesen. Ein, zwei Verständnisfragen bzgl. Hintergrunddiensten habe ich allerdings noch, vielleicht kann mir ja jemand weiterhelfen...

Ein ASyncTask ist, laut Berichten auf Englisch, dann zu verwenden, wenn ich lang andauernde Operationen mit Verbindung zum MainThread habe. Ein IntentService hat diese Verbindung scheinbar nicht.

Jetzt ist die Frage: Was genau bedeutet das, Verbindung zum MainThread?

Bedeutet es (meine Deutung), dass ich einen ASyncTask dann verwenden sollte, wenn ich nicht weiß, wie lange diese (Hintergrund)- Operation läuft? Ein IntentService sollte ich dann verwenden, wenn die Operation irgendwann auf jeden Fall zu Ende ist? Im Falle vom ASyncTask bestünde die Verbindung dann dadrin, dass ich den Status einfach abfragen kann. Beim IntentService wäre das dann ja mehr oder weniger unnötig, weil die Operation irgendwann vorbei ist.

Kann mir da jemand helfen, was genau mit Verbindung zum MainThread gemeint ist und wie sich dieser Unterschied zwischen ASyncTask und IntentService auswirkt?

Besten Dank schonmal und noch einen schönen Abend,

cap
 
verbindung zum main thread heißt, dass du UI elemente updaten musst/willst.

ohne mainthread kannst das nicht tun.
 
Okay. Das heißt also, dass ich ein UI-Element aus dem Workthread eines AsyncTasks heraus aktualisieren kann, aus dem Workthread eines IntentService aber nicht?

Besten Dank schonmal.
 
ne

du kannst nur im main thread ui elemente updaten. ein asynctask bietet dir aber die möglichkeit zb über onProgressUpdate während etwas im hintergrund passiert die ui zu verändern.

Der ursprüngliche Beitrag von 10:05 Uhr wurde um 10:05 Uhr ergänzt:

dazu wird natürlich zwischen den threads hin und her gewechselt, aber du musst dich selber nicht drum kümmern.
 
Zurück
Oben Unten