Profile mocy dla Androida

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 zbiera informacje w miarę upływu czasu 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 (tzn. 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 w całości przez platformę i nie wymagają modyfikacji OEM.

Wartości profilu mocy

Przestroga: Producenci urządzeń muszą udostępnić profil mocy 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 prąd wymagany 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ą raportowane osobno).