Przeprowadź analizę zużycia energii przy pomocy historyka baterii

Narzędzie Historia baterii zapewnia wgląd w wykorzystanie baterii przez urządzenie w czasie. Na poziomie całego systemu narzędzie wizualizuje zdarzenia związane z zasilaniem pochodzące z dzienników systemowych w postaci HTML. Na poziomie konkretnej aplikacji narzędzie udostępnia wiele danych, które mogą pomóc w identyfikacji działania aplikacji, która zużywa baterię.

W tym dokumencie opisano niektóre sposoby korzystania z usługi Historia baterii, aby poznać wzorce zużycia baterii. Na początku dokumentu wyjaśniamy, jak odczytywać dane z całego systemu publikowane w raporcie Historycznej baterii. Następnie pokazuje, jak można wykorzystać usługę Historia baterii do diagnozowania i rozwiązywania problemów z działaniem Twojej aplikacji w zakresie zużycia baterii. Na koniec podajemy kilka wskazówek dotyczących sytuacji, w których historyk baterii może być szczególnie przydatny.

Korzystanie z widoku całego systemu

Narzędzie Battery Historyn umożliwia wizualizację w całym systemie różnych zachowań aplikacji i systemów oraz ich korelacji z wykorzystaniem baterii w czasie. Ten widok, przedstawiony na Rysunku 1, może pomóc w diagnozowaniu i identyfikacji problemów z zużyciem energii w aplikacji.

Wyświetlanie przez usługę Historia baterii zdarzeń dotyczących całego systemu wpływającego na zużycie energii.
Rysunek 1. Wyświetlanie przez usługę Battery Historyn zdarzeń dotyczących całego systemu wpływających na zużycie energii.

Na szczególną uwagę zasługuje czarna, pozioma linia trendu zniżkowego przedstawiająca poziom naładowania baterii mierzoną na osi Y. Na przykład na samym początku linii Poziom baterii, około 6:50, na wizualizacji widać stosunkowo gwałtowny spadek poziomu baterii.

Rysunek 2 przedstawia zbliżenie tej części wyświetlacza.

Zbliżenie na oś czasu historii baterii od około 6:50 do 7:20.
Rysunek 2. Zbliżenie na oś czasu historii baterii od około 6:50 do 7:20.

Na samym początku wiersza Poziom naładowania baterii, gdy poziom naładowania baterii gwałtownie się zmniejsza, na ekranie pojawiają się 3 rzeczy: procesor działa, aplikacja została włączona blokada wybudzania oraz ekran jest włączony. W ten sposób Battery Historyn pomaga zrozumieć, co się dzieje, gdy zużycie baterii jest wysokie. Następnie możesz kierować na takie zachowania w aplikacji i sprawdzić, czy możesz wprowadzić jakieś optymalizacje.

Wizualizacja obejmująca cały system może też dawać inne wskazówki. Jeśli na przykład pokazuje, że mobilna stacja radiowa jest często wyłączana i włączona, możesz spróbować zoptymalizować takie działanie za pomocą interfejsów API inteligentnego planowania, takich jak JobScheduler czy Firebase Job Dispatcher.

W następnej sekcji opisujemy, jak analizować zachowania i zdarzenia charakterystyczne dla Twojej aplikacji.

Wyświetlanie danych o aplikacji

Oprócz danych na poziomie makro pochodzących z widoku całego systemu, aplikacja Battery Historyn udostępnia też tabele i wizualizacje danych dotyczących poszczególnych aplikacji uruchomionych na urządzeniu. Dane tabelaryczne obejmują:

  • Szacunkowe zużycie energii przez aplikację na urządzeniu.
  • Informacje o sieci.
  • Blokada wybudzenia.
  • Usługi.
  • Informacje o procesie.

Tabele przedstawiają dane o Twojej aplikacji w 2 wymiarach. Po pierwsze, możesz sprawdzić, jak aplikacja zajmuje zużycie energii w porównaniu z innymi aplikacjami. W tym celu w sekcji Tabele kliknij tabelę Szacunki mocy urządzenia. W tym przykładzie analizujemy fikcyjną aplikację o nazwie Pug Power.

Sprawdzanie, które aplikacje zużywają najwięcej energii
Rysunek 3. Sprawdzanie, które aplikacje zużywają najwięcej energii

Z tabeli na Rysunku 3 wynika, że Pug Power to dziewiąty pod względem wielkości konsument baterii tego urządzenia i trzecia pod względem wielkości aplikacja na system operacyjny. Te dane sugerują, że tę aplikację należy dokładniej zbadać.

Aby wyszukać dane konkretnej aplikacji, wpisz jej nazwę pakietu w menu na dole po lewej stronie wizualizacji w sekcji Wybór aplikacji.

aplikacji, której dane chcesz wyświetlić.
Rysunek 4. aplikacji, której dane chcesz wyświetlić.

Gdy wybierzesz konkretną aplikację, te kategorie wizualizacji danych zmienią się, aby wyświetlać dane z konkretnej aplikacji, a nie z całego systemu:

  • SyncManager.
  • Proces na pierwszym planie.
  • Blokada wybudzenia przestrzeni użytkownika.
  • Najpopularniejsza aplikacja.
  • JobScheduler.
  • Menedżer aktywności

Wizualizacje SyncManager i JobScheduler natychmiast pokazują, czy aplikacja wykonuje synchronizacje i wykonuje zadania częściej niż to konieczne. W ten sposób mogą szybko rozpoznać możliwość zoptymalizowania działania aplikacji pod kątem poprawy wydajności baterii.

Możesz też uzyskać jeszcze jeden fragment danych wizualizacji związanych z aplikacją – Userspace Wakelock. Aby umieścić te informacje w raporcie o błędzie, wpisz w oknie terminala to polecenie:

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

Rys. 5 i 6 przedstawiają dane dotyczące działania Pug Power. Rysunek 5 przedstawia wizualizację danych dotyczących aplikacji, a na Rysunku 6 – dane tabelaryczne.

Wizualizacja danych dla fikcyjnej aplikacji Pug Power.
Rysunek 5. Wizualizacja danych dla fikcyjnej aplikacji Pug Power.


Dane tabelaryczne dotyczące fikcyjnej aplikacji Pug Power.

Rysunek 6. Dane tabelaryczne dotyczące fikcyjnej aplikacji Pug Power.

Wizualizacja nie pokazuje nic od razu oczywistego. Wiersz JobScheduler wskazuje, że aplikacja nie ma zaplanowanych zadań. Wiersz SyncManagera wskazuje, że aplikacja nie przeprowadziła żadnych synchronizacji.

Jednak badanie segmentu Wakelocks danych tabelarycznych wykazało, że Zasilanie prądem powoduje blokady wybudzeń w ciągu godziny. To nietypowe i kosztowne zachowanie może być przyczyną wysokiego zużycia energii przez aplikację. Ta informacja pomaga deweloperowi skupić się na obszarze, w którym optymalizacja może znacznie pomóc. Dlaczego w tym przypadku aplikacja osiąga tyle czasu na wybudzenie i jak deweloper może temu zaradzić?

Inne przypadki, w których może pomóc historyk baterii

W wielu innych przypadkach historia baterii może pomóc w zdiagnozowaniu możliwości poprawy działania baterii. Na przykład Battery Historyn może sprawdzić, czy Twoja aplikacja:

  • Zbyt częste uruchamianie budzika (co 10 sekund lub mniej).
  • Nieustanne przytrzymanie blokady GPS.
  • planowanie zadań nie częściej niż co 30 sekund,
  • Planowanie synchronizacji nie częściej niż co 30 sekund.
  • Używanie radia komórkowego częściej, niż się spodziewasz.