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">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">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">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">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">
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.