Ressourcenlimits für die Energieverwaltung

Das System priorisiert die Ressourcenanfragen von Apps basierend auf dem Gerätestatus, dem App-Status und dem Standby-Bucket der App.

Das Android-System kann Ressourcenlimits auf zwei verschiedene Arten erzwingen. Eine Möglichkeit zur Optimierung der Ressourcennutzung besteht darin, die Ausführung von Aufgaben so lange zu verschieben, bis das Gerät einen Energiesparmodus wie den Ruhemodus verlassen hat. Regelmäßige Jobs und ungenaue Wecker werden beispielsweise verschoben, damit sie ausgeführt werden, nachdem das Gerät den Ruhemodus verlassen hat.

Sie können auch festlegen, wie oft die App das Gerät aufwecken und Aufgaben ausführen darf, basierend auf dem aktuellen Standby-Bucket der App. Das System kann sowohl die Häufigkeit (wie oft die App das Gerät aufweckt) als auch die Gesamtdauer (wie lange das Gerät aktiv bleibt) reduzieren. Wenn sich die App beispielsweise im Standby-Bucket selten befindet, kann sie innerhalb eines rollierenden 24-Stunden-Zeitraums geplante Jobs insgesamt 10 Minuten lang ausführen.

Hinweis: WorkManager verwendet JobScheduler, um Aufgaben zu planen, wenn die App nicht sichtbar ist und Worker daher von Jobressourcenbeschränkungen betroffen sind.

Weitere Informationen zu den Einschränkungen finden Sie unter:

  1. Ressourcenlimits basierend auf dem Gerätestatus
  2. Ressourcenlimits basierend auf dem App-Status
  3. Ressourcenlimits basierend auf dem App-Standby-Bucket

Hinweis: Der Gerätestatus und der App-Status können die Limits für App-Standby-Buckets außer Kraft setzen. Wenn sich das Gerät beispielsweise gerade auflädt, erlaubt das System Apps im Standby-Bucket selten, Jobs innerhalb eines rollierenden 24-Stunden-Zeitraums länger als 10 Minuten auszuführen.

Es gab Verhaltensänderungen, die sich auch auf die Ressourcenlimits ausgewirkt haben. Weitere Informationen finden Sie unter Änderungen am Android-Verhalten, die sich auf Ressourcenlimits auswirken.

Ressourcenlimits basierend auf dem Gerätestatus

Das System kann Ressourcenlimits auch je nach Gerätestatus ausnehmen oder erzwingen. Beispielsweise erhält ein Gerät im Status Laden uneingeschränkten Ressourcenzugriff, unabhängig von seinem App-Standby-Bucket.

Gerätestatus

Jobs

Wecker

Netzwerkzugriff

Firebase Cloud Messaging

Wird geladen

Keine Ausführungsbeschränkungen, mit Ausnahme des eingeschränkten Standby-Buckets

Keine Ausführungslimits für alle Standby-Buckets und Prozessstatus, es sei denn, der Nutzer schränkt die Akkunutzung der App manuell ein

Keine Beschränkungen

Keine Beschränkungen

Bildschirm an

Ausführungslimits werden basierend auf dem Standby-Bucket erzwungen

Ausführungslimits werden basierend auf dem App-Prozess und dem Standby-Bucket erzwungen.

Der Zugriff hängt vom Status des Standby-Buckets oder des App-Prozesses ab

Keine Beschränkungen

Display aus und Ruhemodus aktiv

Ausführungslimits werden basierend auf dem Standby-Bucket erzwungen und die Ausführung wird auf das Wartungsfenster für den Ruhemodus verschoben.

Ausführungslimits werden basierend auf dem Standby-Bucket erzwungen.

Regelmäßige Wecker: Verschoben in das Wartungsfenster für den Ruhemodus

Wecker bei Inaktivität: auf 7 pro Stunde beschränkt

Während des Ruhemodus eingeschränkt

Hohe Priorität: Keine Ausführungsbeschränkungen

Normale Priorität: Verschoben auf das Wartungsfenster für den Ruhemodus

Ressourcenlimits basierend auf dem App-Status

Ob das System die Ressourcenlimits des App-Standby-Buckets erzwingt, hängt von der Wichtigkeit des App-Prozesses ab. Unter ActivityManager.RunningAppProcessInfo.importance erfahren Sie mehr über die verschiedenen Wichtigkeitsstufen von Prozessen.

Der Gerätenutzer kann die Optimierungen der App-Energieverwaltung auch manuell überschreiben. Dadurch werden die Limits für den App-Standby-Bucket außer Kraft gesetzt.

App-Status

Jobs

Wecker

Netz

App-Prozess ist sichtbar oder im Vordergrund

Keine Ausführungslimits

Keine Häufigkeitsbeschränkungen

Keine Beschränkungen

Der App-Prozess führt einen Dienst im Vordergrund aus

Ausführungslimits werden basierend auf dem Standby-Bucket erzwungen.***

Häufigkeitslimits werden basierend auf dem Standby-Bucket erzwungen.

Keine Beschränkungen

Nutzer schränkt Akkunutzung von App manuell ein

Ausführung ist eingeschränkt

Ausführung ist eingeschränkt

Zugriff hängt vom Verhalten des Standby-Buckets ab

Nutzer hebt die Akkueinschränkungen für eine App manuell auf

Das Limit für die Ausführung ist großzügig bemessen.***

Keine Ausführungslimits

Uneingeschränkt, es sei denn, das Gerät befindet sich im Datensparmodus

*** Das Verhalten der Ausführungsquote für Jobs wurde in Android 16 geändert. Vor Android 16 gab es kein Ausführungslimit, wenn die App einen Dienst im Vordergrund ausführte oder der Nutzer den Akkuverbrauch der App nicht eingeschränkt hatte.

Ressourcenlimits basierend auf dem App-Standby-Bucket

Hinweis: Die Werte in dieser Tabelle sind keine Garantie für die Ausführungsdauer, da sich andere Gerätebedingungen oder Bucket-Änderungen auf Ressourceneinschränkungen auswirken können. Die Werte können sich auch in zukünftigen Android-Releases ändern.

Regelmäßige Jobs, beschleunigte Jobs, Benachrichtigungen und der Netzwerkzugriff können je nach App-Standby-Bucket eingeschränkt werden. Anhand dieser ungefähren Einschränkungen der Energieverwaltung können Sie nachvollziehen, wie sich App-Standby-Buckets auf Ihre App auswirken. Für eine optimale Leistung sollten Sie die Best Practices für den App-Standby einhalten und die Akkunutzung für APIs zur Aufgabenplanung optimieren.

Ab Android 13 wird nicht mehr über den Standby-Bucket der App bestimmt, wie viele FCM-Nachrichten mit hoher Priorität eine App verwenden kann.

App-Standby-Bucket

Regelmäßige Jobs*

Express-Jobs**

Wecker

Netz

Aktiv:

Bis zu 20 Minuten in einem rollierenden 60-Minuten-Zeitraum***

Bis zu 30 Minuten innerhalb eines rollierenden 24-Stunden-Zeitraums***

Keine Ausführungslimits

Keine Beschränkungen

Arbeitssatz:

Bis zu 10 Minuten in einem rollierenden Zeitraum von 4 Stunden

Bis zu 15 Minuten in einem rollierenden 24-Stunden-Zeitraum

Begrenzt auf 10 pro Stunde

Keine Beschränkungen

Häufig:

Bis zu 10 Minuten in einem rollierenden 12-Stunden-Zeitraum

Bis zu 10 Minuten innerhalb eines rollierenden 24-Stunden-Zeitraums

Begrenzt auf 2 pro Stunde

Keine Beschränkungen

Selten:

Bis zu 10 Minuten innerhalb eines rollierenden 24-Stunden-Zeitraums

Bis zu 10 Minuten innerhalb eines rollierenden 24-Stunden-Zeitraums

Begrenzt auf 1 pro Stunde

Deaktiviert

Eingeschränkt:

Einmal täglich bis zu 10 Minuten

Bis zu 5 Minuten in einem rollierenden 24-Stunden-Fenster

Einen Wecker pro Tag, entweder einen genauen Wecker oder einen ungenauen Wecker

Deaktiviert

* Reguläre Jobs sind Jobs, für die im JobScheduler keine setUserInitiated(true)- oder setExpedited(true)-Flags oder im WorkManager keine expedited workers verwendet werden.

** Beschleunigte Jobs haben ein eigenes Ausführungslimit. Sie können im WorkManager so konfiguriert werden, dass sie mit den Ausführungslimits für reguläre Jobs fortgesetzt werden, sobald die beschleunigten Limits ausgeschöpft sind.

*** Das Verhalten der Ausführungsquote für Jobs wurde in Android 16 geändert. Vor Android 16 gab es kein Ausführungslimit, wenn sich die App im aktiven Standby-Bucket befand.

Änderungen am Android-Verhalten, die sich auf Ressourcenlimits auswirken

Bei den folgenden Android-Updates wurden Änderungen an den App-Ressourcenlimits vorgenommen.

Android 16

Änderung beim Verhalten der JobScheduler-Kontingentoptimierung

Android hat das Laufzeitkontingent für die reguläre und beschleunigte Jobausführung anhand der folgenden Faktoren angepasst:

  1. Der App-Standby-Bucket, in dem sich die App befindet
  2. Wenn die Ausführung des Jobs gestartet wird, während sich die App in einem Top-Status befindet
  3. Wenn der Job ausgeführt wird, während ein Dienst im Vordergrund ausgeführt wird

Android 13

Wichtige Änderung am Verhalten von Firebase Cloud Messaging-Kontingenten (FCM)

Android 9

Die Funktion „App-Standby-Buckets“ wird eingeführt

Android 9 enthält eine neue Funktion zur Akkuverwaltung: App-Standby-Buckets. Mit App-Standby-Buckets kann das System die Ressourcenanfragen von Apps basierend darauf priorisieren, wie aktuell und wie häufig die Apps verwendet werden. Basierend auf den Nutzungsmustern der App wird jede App in einen der fünf Prioritätsbereiche eingeordnet. Das System begrenzt die für jede App verfügbaren Geräteressourcen je nach Bucket, in dem sich die App befindet.