Informacje o zużyciu baterii pochodzą ze statystyk użytkowania baterii i wartości profilu mocy.
Statystyki użycia baterii
Struktura automatycznie określa statystyki wykorzystania baterii, śledząc, jak długo komponenty urządzenia przebywają w różnych stanach. Gdy komponenty (chipset Wi-Fi, radio komórkowe, Bluetooth, GPS, wyświetlacz, procesor) zmieniają stan (WYŁĄCZONY/WŁĄCZONY, stan bezczynności/pełna moc, niska/wysoka jasność itp.), usługa kontrolująca raportuje do ramowej usługi BatteryStats. BatteryStats gromadzi informacje w czasie i przechowuje je do wykorzystania po ponownym uruchomieniu. Usługa nie śledzi bezpośrednio poboru prądu baterii, 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:
- Naciskać . Usługi świadome zmian komponentów przekazują zmiany stanu do usługi BatteryStats.
- Ciągnąć . W przypadku komponentów takich jak użycie procesora przez aplikacje platforma automatycznie pobiera dane w punktach przejścia (takich jak rozpoczęcie lub zatrzymanie działania), aby wykonać migawkę.
Zużycie zasobów jest powiązane z aplikacją korzystającą z zasobu. Kiedy wiele aplikacji jednocześnie korzysta z zasobu (takiego jak wakelocki, które zapobiegają zawieszaniu się systemu), framework rozkłada zużycie pomiędzy te aplikacje, choć niekoniecznie równomiernie.
Aby uniknąć utraty statystyk użytkowania w przypadku wyłączenia, które może wskazywać na problemy ze zużyciem energii baterii (tj. wyłączenie następuje z powodu osiągnięcia przez baterię zerowej pozostałej pojemności), struktura miga statystykami mniej więcej co 30 minut.
Statystyki użycia baterii są obsługiwane całkowicie przez platformę i nie wymagają modyfikacji OEM.
Wartości profilu mocy
Przestroga: Producenci urządzeń muszą udostępnić profil zasilania komponentu, który określa wartość zużycia prądu przez komponent oraz przybliżone zużycie baterii powodowane przez komponent w czasie. Ten profil jest zdefiniowany w platformie/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 odpowiadać mA pobieranemu przez akumulator, a nie wartościom mającym zastosowanie do szyny zasilającej, która nie odpowiada prądowi pobieranemu z akumulatora.
Na przykład profil mocy wyświetlacza określa natężenie prądu wymagane w mA, aby wyświetlacz był włączony przy minimalnej i maksymalnej jasności. Aby określić koszt energii (tj. baterii zużywanej przez element wyświetlacza) utrzymywania włączonego wyświetlacza, platforma śledzi czas spędzony na każdym poziomie jasności, a następnie mnoży te przedziały czasu przez interpolowany koszt jasności wyświetlacza.
Struktura mnoży również czas procesora dla każdej aplikacji przez mA wymagane do uruchomienia procesora z określoną szybkością. To obliczenie ustanawia porównawczy ranking zużycia baterii przez aplikację podczas wykonywania kodu procesora (czas działania aplikacji na pierwszym planie i całkowity czas, w tym aktywność w tle, są zgłaszane osobno).