Google is committed to advancing racial equity for Black communities. See how.
This page was translated by the Cloud Translation API.
Switch to English

Energieprofile für Android

Informationen zum Batterieverbrauch werden aus Statistiken zum Batterieverbrauch und Leistungsprofilwerten abgeleitet.

Statistiken zum Batterieverbrauch

Das Framework ermittelt automatisch die Statistiken zum Batterieverbrauch, indem es verfolgt, wie lange Gerätekomponenten in verschiedenen Zuständen verbracht haben. Wenn Komponenten (Wi-Fi-Chipsatz, Mobilfunk, Bluetooth, GPS, Display, CPU) den Status ändern (AUS / EIN, Leerlauf / volle Leistung, niedrige / hohe Helligkeit usw.), meldet der Steuerungsdienst dem Framework-BatteryStats-Dienst. BatteryStats sammelt Informationen im Laufe der Zeit und speichert sie zur Verwendung bei Neustarts. Der Dienst verfolgt die Stromaufnahme der Batterie nicht direkt, sondern sammelt Zeitinformationen, die zur Annäherung des Batterieverbrauchs durch verschiedene Komponenten verwendet werden können.

Das Framework sammelt Statistiken mit den folgenden Methoden:

  • Drücken Sie . Dienste, die Komponentenänderungen kennen, übertragen Statusänderungen an den BatteryStats-Dienst.
  • Ziehen . Bei Komponenten wie der von Apps verwendeten CPU zieht das Framework die Daten automatisch an Übergangspunkten (z. B. Starten oder Stoppen einer Aktivität), um einen Snapshot zu erstellen.

Der Ressourcenverbrauch ist der Anwendung zugeordnet, die die Ressource verwendet. Wenn mehrere Anwendungen gleichzeitig eine Ressource verwenden (z. B. Wakelocks, die verhindern, dass das System angehalten wird), verteilt das Framework den Verbrauch auf diese Anwendungen, wenn auch nicht unbedingt gleich.

Um zu vermeiden, dass Nutzungsstatistiken für ein Abschaltereignis verloren gehen, die auf Probleme mit dem Batterieverbrauch hinweisen können (dh das Herunterfahren erfolgt, weil die Batterie die verbleibende Kapazität von Null erreicht hat), blinkt das Framework etwa alle 30 Minuten.

Die Statistiken zum Batterieverbrauch werden vollständig vom Framework verwaltet und erfordern keine OEM-Änderungen.

Leistungsprofilwerte

Achtung: Gerätehersteller müssen ein Komponentenleistungsprofil bereitstellen, das den Stromverbrauchswert für die Komponente und den ungefähren Batterieverbrauch definiert, der durch die Komponente im Laufe der Zeit verursacht wird. Dieses Profil ist in platform / frameworks / base / core / res / res / xml / power_profile.xml definiert . Anleitungen zu diesen Einstellungen finden Sie unter Leistungswerte .

Innerhalb eines Leistungsprofils wird der Stromverbrauch in Milliampere (mA) der Stromaufnahme bei einer Nennspannung angegeben und kann ein in Mikroampere (uA) angegebener Bruchwert sein. Der Wert sollte der an der Batterie verbrauchte mA sein und nicht ein Wert, der für eine Stromschiene gilt, die nicht dem von der Batterie verbrauchten Strom entspricht.

Ein Anzeigeleistungsprofil gibt beispielsweise den mA-Strom an, der erforderlich ist, um die Anzeige bei minimaler Helligkeit und maximaler Helligkeit eingeschaltet zu halten. Um die Stromkosten (dh die durch die Anzeigekomponente entladene Batterie) für das Einschalten der Anzeige zu bestimmen, verfolgt das Framework die Zeit, die bei jeder Helligkeitsstufe verbracht wurde, und multipliziert diese Zeitintervalle mit den interpolierten Helligkeitskosten der Anzeige.

Das Framework multipliziert auch die CPU-Zeit für jede Anwendung mit dem mA, der erforderlich ist, um die CPU mit einer bestimmten Geschwindigkeit auszuführen. Diese Berechnung erstellt eine vergleichende Rangfolge des Batterieverbrauchs einer Anwendung durch Ausführen des CPU-Codes (Zeit als Vordergrund-App und Gesamtzeit einschließlich Hintergrundaktivität werden separat angegeben).