Wie misst Android den Energieverbrauch einzelner Hardwarekomponenten? Wie misst Android den Energieverbrauch jedes einzelnen Prozesses?
Wie misst Android den Energieverbrauch einzelner Hardwarekomponenten? Wie misst Android den Energieverbrauch jedes einzelnen Prozesses?
Antworten:
Android verfolgt Ereignisse, die sich auf den Akkuverbrauch auswirken, und speichert diese Informationen in der Datei batterystats.bin. Einige Beispiele:
Android berechnet anhand der vom Hersteller auf dem Gerät enthaltenen Konfigurationsinformationen, wie viel Strom jede Anwendung oder Komponente (z. B. Bildschirm) verbraucht.
Es wird nicht alles gemessen, sodass die Statistiken manchmal irreführend sein können, aber mit jeder Android-Plattform-Version wird es besser.
Die Batteriestatistik kann vom Gerät mithilfe der folgenden Methoden ausgegeben werden:
adb shell dumpsys batterystats
Hier ist ein interessantes Fragment eines Beitrags von Diane Hackborn mit weiteren Details zum Stromverbrauch von Wecksperren :
Es gibt zwei Möglichkeiten, wie die Leistung von Wecksperren berechnet wird.
Bei einigen Chipsätzen muss nur ein Aktivierungssperre gedrückt werden, um zu verhindern, dass die CPU vollständig in den Energiesparmodus wechselt. In der gemeldeten Akkunutzung wird dieser zusätzliche Stromverbrauch auf alle Apps mit Wecksperren verteilt.
Selbst wenn die Aktivierungssperre selbst keinen Stromverbrauch verursacht, kann das Halten einer Aktivierungssperre in einer App anderen Anwendungen ermöglichen, ausgeführt zu werden und die CPU zu belasten, wenn dies sonst nicht der Fall wäre. (Einige Apps haben beispielsweise eine {sleep (1); do something;} -Schleife, die nicht ausgeführt werden würde, wenn keine Aktivierungssperren festgelegt würden.) Um dies zu beheben, wird die Hälfte der CPU-Auslastung von Anwendungen als Schuld zugewiesen diejenigen, die Weckschlösser halten.