Profiluj wykorzystanie baterii za pomocą narzędzi Batterystats i Historycznego baterii
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Ten dokument przedstawia podstawowe kroki konfiguracji i przepływ pracy w narzędziu Batterystats.
oraz pismo „Battery Historyn”. Jak korzystać z aplikacji Battery Historyn
sprawdzanie wzorców zużycia baterii, zobacz Analizowanie zużycia energii za pomocą baterii
Historyka.
Batterystats to wbudowane w platformę Androida narzędzie, które zbiera dane o baterii
dane na urządzeniu. Możesz użyć adb, aby skopiować
zebrał dane o baterii na komputer
programistyczny i utwórz raport,
Analiza w narzędziu Battery Historyn. Battery Historyn konwertuje raport z
Batterystats w wizualizację HTML, którą możesz wyświetlić w przeglądarce.
Dane Batterystats i Battery Historyn przydają się w:
Pokazuje, gdzie i w jaki sposób procesy pobierają prąd z baterii.
Identyfikowanie w aplikacji zadań, które można odroczyć lub usunąć, aby ulepszyć działanie aplikacji
żywotności baterii.
.
Zainstaluj Battery Historyn
Do zainstalowania Battery Historyn możesz użyć Dockera. Inna instalacja
, w tym podczas tworzenia ze źródła, zapoznaj się z
README na
stronie projektu na GitHubie. Aby zainstalować aplikację za pomocą Dockera, wykonaj te czynności:
Zainstaluj Dockera, postępując zgodnie z instrukcjami
Strona Dockera. Dowolne
działa typ subscription,
w tym również bezpłatną subskrypcję osobistą.
Aby sprawdzić, czy Docker został prawidłowo zainstalowany, otwórz wiersz poleceń
wpisz następujące polecenie:
docker run hello-world
Jeśli Docker jest prawidłowo zainstalowany, wyświetli się takie dane wyjściowe:
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
78445dd45222: Pull complete
Digest:
sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal
Przed uruchomieniem aplikacji Docker Desktop, która jest frontendem GUI dla Dockera, uruchom
należy uruchomić obraz Battery Historyn. Uruchamianie tego polecenia inicjuje Dockera
narzędzi. Historia baterii nie będzie działać, dopóki nie zrobisz tego co najmniej raz.
Uruchom Battery Historyn z poziomu wiersza poleceń po pierwszym uruchomieniu
obecnie się znajdujesz. Aplikacja Docker Desktop nie pozwala określić portu do uruchomienia sieci
Serwer jest włączony. Możesz to zrobić tylko z poziomu wiersza poleceń. Jednak po
udało się uruchomić kontener z wiersza poleceń, w polu
Docker Desktop, a następnie możesz go uruchomić za pomocą tego samego portu detektora.
z aplikacji Docker Desktop.
Uruchom obraz Battery Historyn za pomocą tego polecenia:
docker run -p port_number:9999 gcr.io/android-battery-historian/stable:3.1 --port 9999
Battery Historyn używa wybranego przez Ciebie portu, zgodnie z ustawieniami:
port_number
Otwórz w przeglądarce przeglądarkę Battery Historyn, aby potwierdzić, że działa.
Adres różni się w zależności od systemu operacyjnego:
Linux i Mac
Program Battery Historyn jest dostępny na
http://localhost:port_number.
Do systemu Windows
Gdy uruchomisz Dockera, poinformuje Cię o adresie IP maszyny,
którego używa. Jeśli np. adres IP to 123.456.78.90, Bateria
Historyk jest dostępny
http://123.456.78.90:port_number
Wyświetli się strona startowa Battery Historyn, na której można przesyłać
wyświetlać statystyki baterii.
Rysunek 1. Strona startowa baterii
Historyk..
Zbieranie danych za pomocą Batterystats
Aby zbierać dane z urządzenia za pomocą Batterystats i otworzyć je w sekcji Bateria
Historyk, wykonaj te czynności:
Podłącz urządzenie mobilne do komputera.
W oknie terminala wyłącz działający serwer adb, uruchamiając polecenie
to polecenie:
adb kill-server
Uruchom ponownie adb i sprawdź połączone urządzenia, uruchamiając to polecenie
.
adb devices
Wyświetli się lista urządzenia podobne do tych poniżej.
Rysunek 2. Dane wyjściowe funkcji adb devices,
Pokazuję 1 połączone urządzenie
Jeśli nie ma na liście żadnych urządzeń, upewnij się, że telefon jest połączony, a USB
jest włączone debugowanie, a następnie
zatrzymać i uruchomić ponownie adb.
Zresetuj zbieranie danych o baterii, uruchamiając to polecenie:
adb shell dumpsys batterystats --reset
Urządzenie cały czas zbiera statystyki baterii i inne informacje na potrzeby debugowania
w tle. Zresetowanie spowoduje usunięcie poprzednich danych dotyczących baterii. Jeśli
nie resetować, ponieważ dane wyjściowe mogą być bardzo duże.
Odłącz urządzenie od komputera, aby móc tylko rysować
prądu zasilanego z baterii urządzenia.
Korzystaj z aplikacji i wykonuj działania, w przypadku których chcesz gromadzić dane. Dla:
na przykład odłączyć się od Wi-Fi i przesłać dane do chmury.
Podłącz telefon ponownie.
Sprawdź, czy telefon został rozpoznany, i uruchom następujące polecenie:
adb devices
Aby skopiować wszystkie dane baterii, uruchom następujące polecenie. Może to potrwać
.
Plik batterystats.txt zostanie utworzony w katalogu podanym przez Ciebie za pomocą
opcjonalnego argumentu ścieżki. Jeśli nie określisz ścieżki, plik zostanie
utworzony w katalogu głównym.
Utworzenie raportu z nieprzetworzonych danych.
Na urządzeniach z Androidem 7.0 lub nowszym:
adb bugreport [path/]bugreport.zip
Na urządzeniach z Androidem 6.0 lub starszym:
adb bugreport [path/]bugreport.txt
Wygenerowanie raportu o błędzie może potrwać kilka minut. Nie odłączaj swojego
na urządzeniu lub anuluj ten proces, dopóki się nie zakończy.
Tak jak batterystats.txt, pliki te są tworzone w katalogu
należy określić za pomocą opcjonalnego argumentu path. Jeśli
nie podają ścieżki, tworzą się w katalogu głównym.
Jeśli jeszcze nie jest uruchomione, uruchom Battery Historyn, używając
polecenie:
docker run -p port_number:9999 gcr.io/android-battery-historian/stable:3.1 --port 9999
Aby wyświetlić swoje dane w sekcji Battery Historyn, otwórz aplikację Battery Historyn
przeglądarki. W systemach Mac i Linux Battery Historyn działa na:
http://localhost:port_number Windows, Bateria
Historyk
http://your_IP_address:port_number
Kliknij Przeglądaj i wybierz utworzony plik z raportem o błędzie.
Kliknij Prześlij. Battery Historyn otwiera wykres utworzony
Dane Batterystats.
Wyświetlanie danych na wykresach Battery Historyn
Wykres historyczny baterii przedstawia zdarzenia związane z zasilaniem na przestrzeni czasu.
Każdy wiersz pokazuje kolorowy segment słupka, gdy komponent systemu jest aktywny i dlatego
zasilanie prądem z baterii. Wykres nie pokazuje poziomu naładowania baterii
używane przez komponent – tylko wtedy, gdy aplikacja jest aktywna. Wykresy są uporządkowane według:
kategorii, wyświetlając słupek każdej kategorii w czasie, jak widać na
x wykresu.
Rysunek 3. Przykład historyka baterii
Dodaj dodatkowe dane z listy.
Aby dowiedzieć się więcej, najedź kursorem na nazwę danych
wszystkich danych, łącznie z kluczowymi kolorami używanymi na wykresie.
Najedź kursorem na słupek, aby wyświetlić bardziej szczegółowe informacje
a statystyki dotyczące baterii w konkretnym punkcie na osi czasu.
Dodatkowe dane wyjściowe statystyk baterii
Dodatkowe informacje z pliku batterystats.txt możesz wyświetlić w
statystyki po wykresie „Battery Historyn”.
Rysunek 4. Sekcja statystyk na stronie Bateria
Historyk.
Karta 1Statystyki systemu zawiera dane z całego systemu
takie jak poziom sygnału sieci komórkowej i jasność ekranu. Ta informacja
zapewnia ogólny obraz tego, co dzieje się z urządzeniem. To jest
szczególnie przydatne, gdy chcesz się upewnić, że na test nie wpływają żadne zdarzenia zewnętrzne.
Karta2Statystyki aplikacji zawiera informacje o:
określonych aplikacji. Posortuj listę aplikacji, korzystając z 3
Menu Sortuj aplikacje według w panelu Wybór aplikacji. Ty
możesz wybrać konkretną aplikację, aby wyświetlić statystyki
4 aplikacje.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-27 UTC."],[],[],null,["# Profile battery usage with Batterystats and Battery Historian\n\n| **Warning:** Battery Historian is no longer actively maintained; if possible, consider using [system tracing](/topic/performance/tracing), the [Macrobenchmark power metric](/topic/performance/benchmarking/macrobenchmark-metrics#power), or the [Power Profiler](/studio/profile/power-profiler) to get insights into battery performance.\n\nThis document shows the basic setup steps and workflow for the Batterystats tool\nand the Battery Historian script. To learn how to use Battery Historian to\ninspect battery consumption patterns, see [Analyze power use with Battery\nHistorian](/topic/performance/power/battery-historian).\n\nBatterystats is a tool included in the Android framework that collects battery\ndata on your device. You can use [`adb`](/studio/command-line/adb) to dump the\ncollected battery data to your development machine and create a report you can\nanalyze using Battery Historian. Battery Historian converts the report from\nBatterystats into an HTML visualization that you can view in your browser.\n\nBatterystats and Battery Historian are useful for the following:\n\n- Showing you where and how processes are drawing current from the battery.\n- Identifying tasks in your app that can be deferred or removed to improve battery life.\n\n| **Note:** To use Batterystats and Battery Historian, you need a mobile device with [USB debugging](/studio/debug/dev-options) enabled.\n\nInstall Battery Historian\n-------------------------\n\nYou can use Docker to install Battery Historian. For alternative installation\nmethods, including building from source, see the\n[README](https://github.com/google/battery-historian) on the\nproject's GitHub page. To install using Docker, do the following:\n\n1. Install Docker by following the instructions on the\n [Docker website](https://docs.docker.com/desktop). Any\n [subscription](https://docker.com/pricing) type works,\n including a free Personal subscription.\n\n2. To confirm Docker is correctly installed, open the command line and\n enter the following command:\n\n docker run hello-world\n\n If Docker is correctly installed, it displays an output like this: \n\n Unable to find image 'hello-world:latest' locally\n latest: Pulling from library/hello-world\n 78445dd45222: Pull complete\n Digest:\n sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7\n Status: Downloaded newer image for hello-world:latest\n\n Hello from Docker!\n This message shows that your installation appears to be working correctly.\n\n To generate this message, Docker took the following steps:\n 1. The Docker client contacted the Docker daemon.\n 2. The Docker daemon pulled the \"hello-world\" image from the Docker Hub.\n 3. The Docker daemon created a new container from that image which runs the\n executable that produces the output you are currently reading.\n 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal\n\n3. Launch the Docker Desktop app---which is a GUI frontend for Docker---before\n you run the Battery Historian image. Running this initializes the Docker\n tools. Battery Historian doesn't run until you do this at least once.\n\n4. Run Battery Historian from the command line when running it for the first\n time. The Docker Desktop app doesn't let you specify the port to run the web\n server on. You can only do this from the command line. However, after you\n successfully run the container from the command line, an entry is created in\n Docker Desktop, and then you can launch it using the same listener port\n from Docker Desktop.\n\n5. Run the Battery Historian image using the following command:\n\n ```\n docker run -p port_number:9999 gcr.io/android-battery-historian/stable:3.1 --port 9999\n ```\n\n Battery Historian uses the port of your choice, as specified using\n \u003cvar translate=\"no\"\u003eport_number\u003c/var\u003e.\n | **Note:** If you're using a Windows machine, you might need to enable virtualization in your BIOS. Check the documentation for your motherboard for more information about how to enable virtualization. If you can run the [Android Emulator](/studio/run/emulator), then virtualization is already enabled.\n6. Navigate to Battery Historian in your browser to confirm it's running. The\n address varies depending on your operating system:\n\n For Linux and Mac\n : Battery Historian is available at\n `http://localhost:`\u003cvar translate=\"no\"\u003eport_number\u003c/var\u003e.\n\n For Windows\n : After you start Docker, it tells you the IP address of the machine it\n is using. For example, if the IP address is 123.456.78.90, Battery\n Historian is available at\n `http://123.456.78.90:`\u003cvar translate=\"no\"\u003eport_number\u003c/var\u003e.\n\n \u003cbr /\u003e\n\n It then displays the Battery Historian start page, where you can upload and\n view battery statistics.\n **Figure 1.** The start page for Battery Historian.\n\nGather data with Batterystats\n-----------------------------\n\nTo collect data from your device using Batterystats and open it in Battery\nHistorian, do the following:\n\n1. Connect your mobile device to your computer.\n\n2. From a Terminal window, shut down your running `adb` server by running the\n following command:\n\n adb kill-server\n\n3. Restart `adb` and check for connected devices by running the following\n command.\n\n adb devices\n\n It lists your device, similar to the following example output.\n **Figure 2.** The output of `adb devices`, showing one connected device\n\n If it doesn't list any devices, make sure your phone is connected and [USB\n debugging](/studio/debug/dev-options#Enable-debugging) is enabled, and then\n stop and restart `adb`.\n4. Reset battery data gathering by running the following command:\n\n adb shell dumpsys batterystats --reset\n\n The device is always collecting Batterystats and other debugging information\n in the background. Resetting erases previous battery collection data. If you\n don't reset, the output can be very large.\n5. Disconnect your device from your computer so that you are only drawing\n current from the device's battery.\n\n6. Use your app and perform actions for which you want to collect data for. For\n example, disconnect from Wi-Fi and send data to the cloud.\n\n7. Reconnect your phone.\n\n8. Make sure your phone is recognized and run the following command:\n\n adb devices\n\n9. Dump all battery data by running the following command. This can take a\n while.\n\n ```\n adb shell dumpsys batterystats \u003e [path/]batterystats.txt\n ```\n\n The `batterystats.txt` file is created in the directory you specify using\n the optional path argument. If you don't specify a path, the file is\n created in your home directory.\n10. Create a report from raw data.\n\n For devices running Android 7.0 and higher:\n :\n\n ```\n adb bugreport [path/]bugreport.zip\n ```\n\n For devices running Android 6.0 and lower:\n :\n\n ```\n adb bugreport [path/]bugreport.txt\n ```\n\n \u003cbr /\u003e\n\n Bugreport can take several minutes to complete. Don't disconnect your\n device or cancel the process until it's complete.\n\n As with `batterystats.txt`, these files are created in the directory you\n specify using the optional \u003cvar translate=\"no\"\u003epath\u003c/var\u003e argument. If you\n don't specify a path, they are created in your home directory.\n\n If it's not already running, run Battery Historian using the following\n command: \n\n ```\n docker run -p port_number:9999 gcr.io/android-battery-historian/stable:3.1 --port 9999\n ```\n11. To view your data in Battery Historian, open the Battery Historian in your\n browser. For Mac and Linux, Battery Historian runs at\n `http://localhost:`\u003cvar translate=\"no\"\u003eport_number\u003c/var\u003e. For Windows, Battery\n Historian runs at\n `http://`\u003cvar translate=\"no\"\u003eyour_IP_address\u003c/var\u003e`:`\u003cvar translate=\"no\"\u003eport_number\u003c/var\u003e.\n\n12. Click **Browse** and then choose the bugreport file you created.\n\n13. Click **Submit**. Battery Historian opens a chart created from your\n Batterystats data.\n\nView data with Battery Historian charts\n---------------------------------------\n\nThe Battery Historian chart graphs power-relevant events over time.\n\nEach row shows a colored bar segment when a system component is active and thus\ndrawing current from the battery. The chart doesn't show how much battery is\nused by the component---only whether the app is active. Charts are organized by\ncategory, showing a bar for each category over time, as displayed on the\n*x*-axis of the chart.\n**Figure 3.** Example of a Battery Historian chart.\n\n1. Add additional metrics from the drop-down list.\n2. Hold the pointer over the metric name to see more information about each metric, including a key for the colors used in the chart.\n3. Hold the pointer over a bar to see more detailed information about that metric and the battery stats at a specific point on the timeline.\n\nAdditional Batterystats output\n------------------------------\n\nYou can view additional information from the `batterystats.txt` file in the\nstats section after the Battery Historian chart.\n**Figure 4.** The stats section of Battery Historian.\n\nThe 1 **System Stats** tab includes system-wide\nstatistics, such as cell signal levels and screen brightness. This information\nprovides an overall picture of what's happening with the device. This is\nespecially useful to make sure no external events are affecting your test.\n\nThe 2 **App Stats** tab includes information about\nspecific apps. Sort the list of apps using the 3\n**Sort apps by** drop-down list in the **App Selection** pane. You\ncan select a specific app to view stats for using the\n4 apps drop-down list."]]