-1

In Android Oreo warum bound services während immer noch erlaubt (Started Services & IntentServices) ist nicht erlaubt.Grund hinter gebundene Dienste halten aus Background Execution Limits in Android Oreo

Angenommen, ich habe eine gebundene Dienstleistung, die ich in meiner oncreate() Methode meiner Tätigkeit binde und entbinde es in meiner ondestroy() Methode meiner Tätigkeit. Jetzt, wenn ein Benutzer zu dieser Aktivität kommt und drückt die home button, wegen der meine jetzt für die unbestimmte Zeit wird dieser gebundene Dienst Ressourcen verwenden, die ich glaube Entwickler wollten entfernen von Oreo, also denken Sie nicht, was der Grund war hinter den gebundenen Diensten, wenn sie auch Speicherressourcen verschwenden können.

Antwort

1

In Android Oreo, warum gebundene Dienste noch erlaubt, während (Gestartet Dienste & IntentServices) sind nicht erlaubt.

Alle diese Dienste sind erlaubt. Ein gestarteter Nicht-Vordergrund-Dienst kann jedoch nur für ca. 1 Minute ausgeführt werden.

jetzt für die unbestimmte Zeit wird diese gebundene Service-Ressourcen verwenden

Android wird Ihren Hintergrundprozess nach einer gewissen Zeit beenden, nicht anders als vorher. Ein rein gebundener Dienst erhöht den Prozess nicht. nur ein gestarteter Dienst tut es.

Die Bedeutung eines gebundenen Services hängt jedoch sowohl vom eigenen Prozess des Services als auch vom Prozess eines gebundenen Clients ab. Aus diesem Grund sind die gebundenen Dienste nicht direkt von den Änderungen des Android 8.0 betroffen. Die Lebensdauer des Dienstes wird mehr vom Client als vom Dienst selbst bestimmt. In Fällen, in denen der Dienst durch einen Kernbetriebssystemprozess gebunden ist (z. B. NotificationListenerService), steuert das System effektiv, wie lange dieser Dienst benötigt wird. In Ihrem Fall, da sich der Client und der Service in derselben App und demselben Prozess befinden, kann Ihr Prozess normalerweise im Hintergrund beendet werden.

+0

Von wo in der Docs-Zeit erwähnt wird, die 1 Minute ist, kann ein gestarteter Nicht-Vordergrund-Dienst nur für ~ 1 Minute laufen? Bedeutet es, wenn mein Service in weniger als einer Minute fertig ist, kann ich ihn ohne Probleme benutzen? –

+1

@SudhanshuGaur: Die [Docs] (https://developer.android.com/about/versions/oreo/background.html#services) sagen "mehrere Minuten". Beim Testen scheint es ungefähr eine Minute zu sein. – CommonsWare

+0

Also für welches Szenario werden gebundene Dienste nicht normal beendet dann ?? –

Verwandte Themen