Informacje o zużyciu baterii pochodzą ze statystyk zużycia baterii i wartości profilu mocy.
Statystyki zużycia baterii
Platforma automatycznie określa statystyki zużycia baterii, śledząc, jak długo komponenty urządzenia spędzają w różnych stanach. Gdy komponenty (chipset Wi-Fi, radio komórkowe, Bluetooth, GPS, wyświetlacz, procesor) zmieniają stany (WYŁ./WŁ., bezczynność/pełna moc, niska/wysoka jasność, itp.), usługa kontrolująca zgłasza się do usługi szkieletowej BatteryStats. BatteryStats zbiera informacje w czasie i przechowuje je do użytku podczas ponownego uruchamiania. Usługa nie śledzi bezpośrednio poboru prądu z baterii, ale zamiast tego zbiera informacje o czasie, które można wykorzystać do przybliżonego zużycia baterii przez różne komponenty.
Framework gromadzi statystyki przy użyciu następujących metod:
- Naciśnij . Usługi świadome zmian komponentów wypychają zmiany stanu do usługi BatteryStats.
- Pociągnij . W przypadku komponentów, takich jak wykorzystanie procesora przez aplikacje, platforma automatycznie pobiera dane w punktach przejścia (takich jak rozpoczynanie lub zatrzymywanie działania), aby wykonać migawkę.
Zużycie zasobów jest skojarzone z aplikacją korzystającą z zasobu. Gdy wiele aplikacji jednocześnie korzysta z zasobu (takiego jak wakelocks, które zapobiegają zawieszaniu się systemu), struktura rozkłada zużycie na te aplikacje, choć niekoniecznie w równym stopniu.
Aby uniknąć utraty statystyk użytkowania w przypadku zdarzenia zamknięcia, które może wskazywać na problemy z poborem energii z baterii (tzn. wyłączenie następuje, ponieważ bateria osiągnęła zerową pozostałą pojemność), struktura miga statystyki co około 30 minut.
Statystyki zużycia baterii są w całości obsługiwane przez framework i nie wymagają modyfikacji OEM.
Wartości profilu mocy
Przestroga: Producenci urządzeń muszą zapewnić profil zasilania komponentu, który określa wartość poboru prądu dla komponentu i przybliżone zużycie baterii spowodowane przez komponent w czasie. Ten profil jest zdefiniowany w pliku platform/frameworks/base/core/res/res/xml/power_profile.xml . Aby uzyskać wskazówki dotyczące tych ustawień, zobacz Wartości mocy .
W profilu mocy pobór mocy jest określony w miliamperach (mA) poboru prądu przy napięciu znamionowym i może być wartością ułamkową określoną w mikroamperach (uA). Wartość powinna być wartością mA pobieraną przez akumulator, a nie wartością mającą zastosowanie do szyny zasilającej, która nie odpowiada prądowi pobieranemu z akumulatora.
Na przykład profil mocy wyświetlacza określa prąd w mA wymagany do utrzymania wyświetlacza przy minimalnej i maksymalnej jasności. Aby określić koszt zasilania (tj. baterię rozładowaną przez komponent wyświetlacza) utrzymania wyświetlacza, system śledzi czas spędzony na każdym poziomie jasności, a następnie mnoży te przedziały czasowe przez interpolowany koszt jasności wyświetlacza.
Platforma mnoży również czas procesora dla każdej aplikacji przez mA wymaganą do uruchomienia procesora z określoną prędkością. To obliczenie określa ranking porównawczy tego, ile baterii zużywa aplikacja podczas wykonywania kodu procesora (czas jako aplikacja na pierwszym planie i całkowity czas, w tym aktywność w tle, są raportowane osobno).
,Informacje o zużyciu baterii pochodzą ze statystyk zużycia baterii i wartości profilu mocy.
Statystyki zużycia baterii
Platforma automatycznie określa statystyki zużycia baterii, śledząc, jak długo komponenty urządzenia spędzają w różnych stanach. Gdy komponenty (chipset Wi-Fi, radio komórkowe, Bluetooth, GPS, wyświetlacz, procesor) zmieniają stany (WYŁ./WŁ., bezczynność/pełna moc, niska/wysoka jasność, itp.), usługa kontrolująca zgłasza się do usługi szkieletowej BatteryStats. BatteryStats zbiera informacje w czasie i przechowuje je do użytku podczas ponownego uruchamiania. Usługa nie śledzi bezpośrednio poboru prądu z baterii, ale zamiast tego zbiera informacje o czasie, które można wykorzystać do przybliżonego zużycia baterii przez różne komponenty.
Framework gromadzi statystyki przy użyciu następujących metod:
- Naciśnij . Usługi świadome zmian komponentów wypychają zmiany stanu do usługi BatteryStats.
- Pociągnij . W przypadku komponentów, takich jak wykorzystanie procesora przez aplikacje, platforma automatycznie pobiera dane w punktach przejścia (takich jak rozpoczynanie lub zatrzymywanie działania), aby wykonać migawkę.
Zużycie zasobów jest skojarzone z aplikacją korzystającą z zasobu. Gdy wiele aplikacji jednocześnie korzysta z zasobu (takiego jak wakelocks, które zapobiegają zawieszaniu się systemu), struktura rozkłada zużycie na te aplikacje, choć niekoniecznie w równym stopniu.
Aby uniknąć utraty statystyk użytkowania w przypadku zdarzenia zamknięcia, które może wskazywać na problemy z poborem energii z baterii (tzn. wyłączenie następuje, ponieważ bateria osiągnęła zerową pozostałą pojemność), struktura miga statystyki co około 30 minut.
Statystyki zużycia baterii są w całości obsługiwane przez framework i nie wymagają modyfikacji OEM.
Wartości profilu mocy
Przestroga: Producenci urządzeń muszą zapewnić profil zasilania komponentu, który określa wartość poboru prądu dla komponentu i przybliżone zużycie baterii spowodowane przez komponent w czasie. Ten profil jest zdefiniowany w pliku platform/frameworks/base/core/res/res/xml/power_profile.xml . Aby uzyskać wskazówki dotyczące tych ustawień, zobacz Wartości mocy .
W profilu mocy pobór mocy jest określony w miliamperach (mA) poboru prądu przy napięciu znamionowym i może być wartością ułamkową określoną w mikroamperach (uA). Wartość powinna być wartością mA pobieraną przez akumulator, a nie wartością mającą zastosowanie do szyny zasilającej, która nie odpowiada prądowi pobieranemu z akumulatora.
Na przykład profil mocy wyświetlacza określa prąd w mA wymagany do utrzymania wyświetlacza przy minimalnej i maksymalnej jasności. Aby określić koszt zasilania (tj. baterię rozładowaną przez komponent wyświetlacza) utrzymania wyświetlacza, system śledzi czas spędzony na każdym poziomie jasności, a następnie mnoży te przedziały czasowe przez interpolowany koszt jasności wyświetlacza.
Platforma mnoży również czas procesora dla każdej aplikacji przez mA wymaganą do uruchomienia procesora z określoną prędkością. To obliczenie określa ranking porównawczy tego, ile baterii zużywa aplikacja podczas wykonywania kodu procesora (czas jako aplikacja na pierwszym planie i całkowity czas, w tym aktywność w tle, są raportowane osobno).