Frage

Nehmen wir an, ich würde mehrere Anrufe eines Absichtserhalts von durchführen startService(intentservice), Wird es mehrere Instanzen des Dienstes zusammen ausführen oder wird es in der Warteschlange gestellt?

War es hilfreich?

Lösung

Wenn Sie anrufen Dienst starten Mehrfach und der Dienst läuft bereits am Start Methode wird jedes Mal aufgerufen, Oncreate ruft nur einmal an, wenn es noch nicht vorhanden ist. Eine einzelne Instanz wird für den Service dort sein.

Sieh dir das an Dokumentation , hier wird es unten deutlich erwähnt

"Beachten Sie, dass mehrere Aufrufe zum Kontext.StartService () nicht nisten (obwohl sie zu mehreren entsprechenden Aufrufen von OnStartCommand () führen). STOPself () heißt; "

Andere Tipps

IntentService ist ein Sonderfall des Dienstes. Es werden Anfragen angestellt und sich selbst stoppen, wenn alle Anfragen bearbeitet werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top