Sprawdzaj zużycie energii za pomocą programu Energy Profiler

Program Energy Profiler pomaga znaleźć miejsca, w których aplikacja zużywa więcej energii, niż jest to konieczne.

Program Energy Profiler monitoruje wykorzystanie procesora, radia sieciowego oraz czujnika GPS i wyświetla wizualizację zużycia energii przez każdy z tych komponentów. Program do profilowania energii pokazuje też zdarzenia systemowe (blokady wybudzenia, alarmy, zadania i żądania lokalizacji), które mogą wpływać na zużycie energii.

Program do profilowania energii nie mierzy bezpośrednio zużycia energii. Wykorzystuje natomiast model, który szacuje zużycie energii przez poszczególne zasoby na urządzeniu.

Omówienie programu Energy Profiler

Narzędzie Energy Profiler wyświetla się jako wiersz w oknie Profiler, gdy uruchamiasz aplikację na połączonym urządzeniu lub w emulatorze Androida z Androidem 8.0 (API 26) lub nowszym.

Aby uruchomić program Energy Profiler, wykonaj te czynności:

  1. Wybierz Widok > Okna narzędzi > Program profilujący lub kliknij Profil na pasku narzędzi.

    Jeśli pojawi się okno Wybierz cel wdrożenia, wybierz urządzenie, na którym chcesz wdrożyć aplikację w celu profilowania. Jeśli urządzenie, które podłączysz przez USB, nie ma go na liście, sprawdź, czy debugowanie USB jest włączone.

  2. Kliknij dowolne miejsce na osi czasu Energia, aby otworzyć narzędzie Energy Profiler.

Gdy otworzysz program Energy Profiler, natychmiast zacznie wyświetlać informacje o szacowanym zużyciu energii przez aplikację. Powinna pojawić się informacja podobna do tej na ilustracji 1.

Rysunek 1. Osie czasu w narzędziu Energy Profiler.

Jak zaznaczono na ilustracji 1, domyślny widok narzędzia Energy Profiler zawiera następujące ramy czasowe:

  1. Oś czasu zdarzenia: na tej karcie widać działania w aplikacji w miarę ich przechodzenia przez różne stany w trakcie cyklu życia. Na tej osi czasu widać też interakcje użytkowników z urządzeniem, w tym zdarzenia obrotu ekranu.
  2. Oś czasu zużycia energii:pokazuje szacunkowe zużycie energii przez aplikację.
  3. Oś czasu systemu:wskazuje zdarzenia systemowe, które mogą wpływać na zużycie energii.

Aby zobaczyć podział zużycia energii według procesora, sieci i lokalizacji (GPS), a także na odpowiednie zdarzenia systemowe, najedź kursorem myszy na słupek na osi czasu Energia.

Sprawdzanie zdarzeń systemowych: blokad wybudzenia, zadań i alarmów

Za pomocą programu Energy Profiler możesz znajdować zdarzenia systemowe, które mogą wpływać na zużycie energii, takie jak blokady uśpienia, zadania i alarmy:

  • Blokada uśpienia to mechanizm, który utrzymuje procesor lub ekran w trybie uśpienia. Na przykład aplikacja, która odtwarza filmy, może użyć blokady uśpienia, aby ekran pozostawał włączony, gdy użytkownik nie korzysta z urządzenia. Użycie blokady uśpienia nie jest działaniem pochłaniającym energii, ale jego brak może spowodować, że ekran lub procesor będzie pozostawał włączony dłużej niż jest to konieczne, co może szybko rozładować baterię. Więcej informacji znajdziesz w artykule o korzystaniu z blokad uśpienia.

  • Za pomocą alarmów możesz w regularnych odstępach czasu uruchamiać zadania w tle poza kontekstem aplikacji. Uruchomienie alarmu może wybudzić urządzenie i uruchomić kod energooszczędny. Więcej informacji znajdziesz we wskazówkach dotyczących pracy z alarmami.

  • Za pomocą zadań możesz wykonywać działania w określonych warunkach, na przykład gdy sieć staje się dostępna. Tworzysz zadania w usłudze JobBuilder i rezerwujesz je w JobScheduler. W wielu przypadkach zalecamy używanie zadań z funkcją JobScheduler, a nie alarmów czy blokad uśpienia.

  • Żądania lokalizacji używają czujnika GPS, który może zużywać znaczne ilości energii. Aby dowiedzieć się, jak wysyłać prośby o lokalizację z włączonym zużyciem energii, przeczytaj artykuł Optymalizowanie lokalizacji pod kątem zużycia baterii.

Narzędzie do profilu energetycznego ułatwia znalezienie informacji o miejscach, w których aplikacja używa tych funkcji, dzięki czemu możesz podejmować przemyślane decyzje dotyczące ich wykorzystania.

Narzędzie do profilowania energii wyświetla kolorowy pasek na osi czasu System pod osią czasu Energia z zakresu czasu, gdy zdarzenie systemowe jest aktywne. Blokady uśpienia są oznaczone czerwonym paskiem, zadania i alarmy – żółtym paskiem, a zdarzenia związane z lokalizacją – jasnofioletowym paskiem.

Rysunek 2 przedstawia program do profilowania energii i edytor kodu z otwartym na kod źródłowy odpowiedzialny za niezwolnioną blokadę uśpienia.

Rysunek 2. Używam programu Energy Profiler do znajdowania blokady uśpienia.

  1. Aby otworzyć panel Zdarzenie systemowe i wyświetlić szczegóły zdarzeń, takich jak blokada uśpienia, wybierz zakres czasu na osi czasu Energia.
  2. Aby otworzyć panel Szczegóły blokady uśpienia i wyświetlić szczegóły konkretnej blokady uśpienia, wybierz blokadę uśpienia w panelu Zdarzenie systemowe.
  3. Aby otworzyć edytor kodu i przejść do kodu źródłowego blokady uśpienia, kliknij dwukrotnie wpis metody wywoływania u góry stosu wywołań w panelu Szczegóły blokady uśpienia.
  4. Wywołanie blokady uśpienia jest wyróżnione w edytorze źródła.

Instrukcje wyświetlania szczegółów innych zdarzeń systemowych są zasadniczo takie same jak w przypadku blokad uśpienia, ale w panelu szczegółów znajdują się informacje dotyczące konkretnego rodzaju zdarzeń. Na przykład panel Szczegóły zadania pokazuje stosy wywołań tych części kodu, w których zadanie jest zaplanowane i gdzie się ono zakończyło.