Energieverbrauch mit Battery Historian analysieren

Das Tool „Akkuverlauf“ gibt Aufschluss über den Akkuverbrauch eines Geräts. im Laufe der Zeit. Das Tool visualisiert auf Systemebene Ereignisse zur Energieversorgung das System protokolliert in einer HTML-Darstellung. Auf App-Ebene bietet das Tool stellt eine Vielzahl von Daten bereit, mit denen du eine App mit wenig Akku ermitteln kannst. verhalten.

In diesem Dokument werden einige Möglichkeiten beschrieben, wie Sie mit dem Battery Historian über Akkuverbrauchsmuster. Zuerst wird erklärt, wie Sie die systemweiten Daten lesen, die Battery Historian meldet. Dann werden Möglichkeiten aufgezeigt, in dem Sie mit dem Battery Historian das Verhalten der App in Bezug auf den Akkuverbrauch. Zuletzt gibt es noch einige Tipps zur Szenarien, in denen Battery Historian besonders nützlich sein kann.

Systemweite Ansicht verwenden

Das Tool Battery Historian bietet eine systemweite Visualisierung verschiedener Apps und Systemverhalten sowie ihren Zusammenhang mit dem Akkuverbrauch im Laufe der Zeit. Diese Ansicht (siehe Abbildung 1) kann bei der Diagnose und Identifizierung Probleme mit dem Stromverbrauch der App verursacht.

<ph type="x-smartling-placeholder">
</ph> Anzeige von systemweiten Ereignissen, die sich auf die Stromversorgung auswirken, vom Battery Historian
  konsumiert wird.
Abbildung 1. Anzeige systemweiter Ereignisse von Battery Historian und beeinflusst den Stromverbrauch.

Besonders interessant ist hier der horizontale schwarze Trend nach unten. Linie für den Akkustand, gemessen auf der Y-Achse. Beispiel: Im direkt am Anfang der Linie für den Batteriestand, gegen 06:50 Uhr zeigt einen relativ starken Abfall des Akkuladestands.

Abbildung 2 zeigt eine Nahaufnahme dieses Teils des Displays.

<ph type="x-smartling-placeholder">
</ph> Eine Nahaufnahme der Zeitachse des Battery Historian-Teams von etwa 06:50 Uhr bis 07:20 Uhr.
Abbildung 2: Eine Nahaufnahme der Zeitleiste des Battery Historian etwa 06:50 bis 07:20 Uhr.

Ganz am Anfang der Linie für den Batteriestand, wenn der Akku stark abnimmt, drei Dinge angezeigt werden: Die CPU läuft, eine App hat eine Wakelock und das Display ist eingeschaltet. Mit dem Battery Historian erkennen, was bei hohem Akkuverbrauch passiert. Sie können Richten Sie diese Verhaltensweisen dann in Ihrer App aus und untersuchen Sie, Optimierungsmöglichkeiten zu identifizieren.

Die systemweite Visualisierung kann auch andere Hinweise geben. Wenn beispielsweise dass das Mobilfunknetz häufig aus- und eingeschaltet wird, kann es vorkommen, können Sie dieses Verhalten optimieren, indem Sie intelligente Planungs-APIs wie JobScheduler oder Firebase Job Dispatcher aus.

Im nächsten Abschnitt wird erläutert, wie Sie Verhaltensweisen und Ereignisse untersuchen, die sich auf für Ihre eigene App.

App-spezifische Daten ansehen

Zusätzlich zu den Daten auf Makroebene, die von der systemweiten Ansicht bereitgestellt werden, Historian stellt auch Tabellen und einige Visualisierungen für die jeweiligen Daten bereit. die auf Ihrem Gerät ausgeführt wird. Zu den tabellarischen Daten gehören:

  • Der geschätzte Stromverbrauch der App auf dem Gerät.
  • Netzwerkinformationen.
  • Wakelocks.
  • Dienste
  • Prozessinformationen.

Die Tabellen enthalten zwei Datendimensionen zu Ihrer App. Zunächst können Sie wo der Stromverbrauch Ihrer App im Vergleich zu anderen Apps abschneidet. Klicken Sie dazu auf Tabelle Schätzungen zur Stromversorgung unter Tabellen. In diesem Beispiel wird eine fiktive App namens Pug Power.

<ph type="x-smartling-placeholder">
</ph> Es wird geprüft, welche Apps den meisten Strom verbrauchen.
Abbildung 3: Es wird geprüft, welche Apps den meisten Strom verbrauchen.

Die Tabelle in Abbildung 3 zeigt, dass Pug Power der neuntgrößte Verbraucher von und die drittgrößte App, die nicht Teil des Betriebssystem Diese Daten deuten darauf hin, dass diese App eingehender untersucht werden muss.

Wenn Sie die Daten für eine bestimmte App einsehen möchten, geben Sie den Paketnamen in das untere die beiden Drop-down-Menüs unter App-Auswahl, die sich links unter dem Visualisierung.

<ph type="x-smartling-placeholder">
</ph> Sie geben eine bestimmte App ein, deren Daten angezeigt werden sollen.
Abbildung 4: Sie geben eine bestimmte App ein, deren Daten angezeigt werden sollen.

Wenn Sie eine bestimmte App auswählen, werden folgende Datenvisualisierungskategorien ändern, sodass App-spezifische anstelle von systemweiten Daten angezeigt werden:

  • SyncManager.
  • Vordergrundprozess.
  • Wakelock im Userspace.
  • Top-App.
  • JobScheduler.
  • Aktivitätsmanager-Verfahren

Die Visualisierungen SyncManager und JobScheduler machen sofort deutlich, Ihre Anwendung häufiger als nötig Synchronisierungen durchführt und Jobs ausführt. In So können sie schnell erkennen, wie Sie das Verhalten Ihrer App optimieren können. um die Akkuleistung zu verbessern.

Sie können auch App-spezifische Visualisierungsdaten abrufen, Userspace-Wakelock. Damit diese Informationen in den Fehlerbericht aufgenommen werden, geben Sie den Parameter folgenden Befehl in Ihrem Terminalfenster:

$ adb shell dumpsys batterystats --enable full-wake-history

In den Abbildungen 5 und 6 sind Daten für die Pug-Leistung dargestellt. In Abbildung 5 sind die Werte für die App-spezifische Daten. Abbildung 6 zeigt die entsprechenden tabellarischen Daten.

<ph type="x-smartling-placeholder">
</ph> Visualisierung von Daten für die fiktive App Pug Power.
Abbildung 5: Visualisierung von Daten für die fiktive App Pug Power.


Tabellarische Daten für die fiktive Pug Power-App.

Abbildung 6: Tabellarische Daten für die fiktive Pug Power-App.

Ein Blick in die Visualisierung zeigt nichts Offensichtliches. Die Die Zeile "JobScheduler" zeigt an, dass für die App keine geplanten Jobs geplant sind. Die Zeile "SyncManager" zeigt an, dass die App keine Synchronisierungen durchgeführt hat.

Eine Untersuchung des Segments Wakelocks der tabellarischen Daten zeigt jedoch, dass Mops-Power erhält Wakelocks mit einer Gesamtlänge von über einer Stunde. Diese ungewöhnliche und kostspielige Verhalten der App den hohen Stromverbrauch der App verursacht. Dieses Stück von Informationen helfen Entwickelnden, ihre Kampagnen auf einen Bereich auszurichten, in dem eine Optimierung wahrscheinlich sehr hilfreich. Warum hat die App so viel Wakelock-Zeit? und wie kann der Entwickler dieses Verhalten verringern?

Weitere Anwendungsfälle, in denen Battery Historian hilfreich sein kann

Es gibt viele andere Fälle, in denen der Battery Historian Ihnen bei der Diagnose helfen kann, Möglichkeiten zur Verbesserung des Akkuverhaltens Der Akkuverlauf ob Ihre App

  • Zu häufiges Auslösen von Weckrufen (alle 10 Sekunden oder weniger)
  • GPS-Sperre dauerhaft gedrückt halten.
  • Jobs werden alle 30 Sekunden oder weniger geplant.
  • Bei der Planung werden maximal alle 30 Sekunden synchronisiert.
  • Das Mobilfunknetz wird häufiger als erwartet genutzt.