As informações de uso da bateria são derivadas das estatísticas de uso da bateria e dos valores do perfil de energia.
Estatísticas de uso da bateria
A estrutura determina automaticamente as estatísticas de uso da bateria rastreando quanto tempo os componentes do dispositivo passam em diferentes estados. À medida que os componentes (chipset Wi-Fi, rádio celular, Bluetooth, GPS, display, CPU) mudam de estado (OFF/ON, ocioso/energia total, brilho baixo/alto, etc.), o serviço de controle se reporta ao serviço BatteryStats da estrutura. O BatteryStats coleta informações ao longo do tempo e as armazena para uso nas reinicializações. O serviço não rastreia o consumo de corrente da bateria diretamente, mas coleta informações de tempo que podem ser usadas para aproximar o consumo da bateria por diferentes componentes.
A estrutura reúne estatísticas usando os seguintes métodos:
- Empurre . Serviços cientes de alterações de componentes enviam alterações de estado para o serviço BatteryStats.
- Puxe . Para componentes como o uso da CPU por aplicativos, a estrutura extrai automaticamente os dados em pontos de transição (como iniciar ou interromper uma atividade) para obter um instantâneo.
O consumo de recursos está associado ao aplicativo que usa o recurso. Quando vários aplicativos usam um recurso simultaneamente (como wakelocks que impedem a suspensão do sistema), a estrutura distribui o consumo entre esses aplicativos, embora não necessariamente de forma igual.
Para evitar a perda de estatísticas de uso para um evento de desligamento, que pode indicar problemas de consumo de energia da bateria (ou seja, o desligamento ocorre porque a bateria atingiu zero de capacidade restante), a estrutura exibe estatísticas aproximadamente a cada 30 minutos.
As estatísticas de uso da bateria são tratadas inteiramente pela estrutura e não requerem modificações do OEM.
Valores do perfil de energia
Cuidado: Os fabricantes de dispositivos devem fornecer um perfil de energia do componente que defina o valor de consumo atual do componente e o consumo aproximado de bateria causado pelo componente ao longo do tempo. Esse perfil é definido em platform/frameworks/base/core/res/res/xml/power_profile.xml . Para obter orientação sobre essas configurações, consulte Valores de energia .
Dentro de um perfil de potência, o consumo de energia é especificado em miliamperes (mA) de consumo de corrente em uma tensão nominal e pode ser um valor fracionário especificado em microamperes (uA). O valor deve ser o mA consumido na bateria e não um valor aplicável a um barramento de alimentação que não corresponda à corrente consumida da bateria.
Por exemplo, um perfil de energia do monitor especifica o mA de corrente necessário para manter o monitor ligado com brilho mínimo e com brilho máximo. Para determinar o custo de energia (ou seja, a bateria drenada pelo componente da tela) para manter a tela ligada, a estrutura rastreia o tempo gasto em cada nível de brilho e, em seguida, multiplica esses intervalos de tempo por um custo de brilho da tela interpolado.
A estrutura também multiplica o tempo de CPU para cada aplicativo pelo mA necessário para executar a CPU em uma velocidade específica. Esse cálculo estabelece uma classificação comparativa de quanta bateria um aplicativo consome ao executar o código da CPU (o tempo como o aplicativo em primeiro plano e o tempo total, incluindo a atividade em segundo plano, são relatados separadamente).
,As informações de uso da bateria são derivadas das estatísticas de uso da bateria e dos valores do perfil de energia.
Estatísticas de uso da bateria
A estrutura determina automaticamente as estatísticas de uso da bateria rastreando quanto tempo os componentes do dispositivo passam em diferentes estados. À medida que os componentes (chipset Wi-Fi, rádio celular, Bluetooth, GPS, display, CPU) mudam de estado (OFF/ON, ocioso/energia total, brilho baixo/alto, etc.), o serviço de controle se reporta ao serviço BatteryStats da estrutura. O BatteryStats coleta informações ao longo do tempo e as armazena para uso nas reinicializações. O serviço não rastreia o consumo de corrente da bateria diretamente, mas coleta informações de tempo que podem ser usadas para aproximar o consumo da bateria por diferentes componentes.
A estrutura reúne estatísticas usando os seguintes métodos:
- Empurre . Serviços cientes de alterações de componentes enviam alterações de estado para o serviço BatteryStats.
- Puxe . Para componentes como o uso da CPU por aplicativos, a estrutura extrai automaticamente os dados em pontos de transição (como iniciar ou interromper uma atividade) para obter um instantâneo.
O consumo de recursos está associado ao aplicativo que usa o recurso. Quando vários aplicativos usam um recurso simultaneamente (como wakelocks que impedem a suspensão do sistema), a estrutura distribui o consumo entre esses aplicativos, embora não necessariamente de forma igual.
Para evitar a perda de estatísticas de uso para um evento de desligamento, que pode indicar problemas de consumo de energia da bateria (ou seja, o desligamento ocorre porque a bateria atingiu zero de capacidade restante), a estrutura exibe estatísticas aproximadamente a cada 30 minutos.
As estatísticas de uso da bateria são tratadas inteiramente pela estrutura e não requerem modificações do OEM.
Valores do perfil de energia
Cuidado: Os fabricantes de dispositivos devem fornecer um perfil de energia do componente que defina o valor de consumo atual do componente e o consumo aproximado de bateria causado pelo componente ao longo do tempo. Esse perfil é definido em platform/frameworks/base/core/res/res/xml/power_profile.xml . Para obter orientação sobre essas configurações, consulte Valores de energia .
Dentro de um perfil de potência, o consumo de energia é especificado em miliamperes (mA) de consumo de corrente em uma tensão nominal e pode ser um valor fracionário especificado em microamperes (uA). O valor deve ser o mA consumido na bateria e não um valor aplicável a um barramento de alimentação que não corresponda à corrente consumida da bateria.
Por exemplo, um perfil de energia do monitor especifica o mA de corrente necessário para manter o monitor ligado com brilho mínimo e com brilho máximo. Para determinar o custo de energia (ou seja, a bateria drenada pelo componente da tela) para manter a tela ligada, a estrutura rastreia o tempo gasto em cada nível de brilho e, em seguida, multiplica esses intervalos de tempo por um custo de brilho da tela interpolado.
A estrutura também multiplica o tempo de CPU para cada aplicativo pelo mA necessário para executar a CPU em uma velocidade específica. Esse cálculo estabelece uma classificação comparativa de quanta bateria um aplicativo consome ao executar o código da CPU (o tempo como o aplicativo em primeiro plano e o tempo total, incluindo a atividade em segundo plano, são relatados separadamente).