Wake locks parciais travados

Wake locks parciais são um mecanismo da API PowerManager que possibilita que os desenvolvedores mantenham a CPU em funcionamento após a tela de um dispositivo ser desativada, seja devido ao tempo limite do sistema ou porque o usuário pressionou o botão liga/desliga. Seu app recebe um wake lock parcial ao chamar acquire() com a flag PARTIAL_WAKE_LOCK ou usando outras APIs que recebem wake locks. Um wake lock parcial fica travado se for retido por muito tempo enquanto o app está sendo executado em segundo plano. Ou seja, quando nenhuma parte do app está visível para o usuário. Essa condição consome a bateria do dispositivo porque impede que ele entre em estados de baixo consumo de energia. Os wake locks parciais só devem ser usados quando for preciso e liberados assim que não forem mais necessários.

Caso seu app tenha um wake lock parcial travado, você pode usar as orientações nesta página para diagnosticar e corrigir o problema.

Detectar o problema

Nem sempre você sabe que os wake locks parciais do seu app estão travados. Se você já publicou o app, o recurso Android vitals pode ajudar a identificar o problema.

Android vitals

O recurso Android vitals pode ajudar a melhorar a performance do app alertando você, pelo Play Console, quando o app apresentar wake locks parciais travados. O Android vitals informa que há wake locks parciais travados quando pelo menos um wake lock parcial de uma hora ocorre em segundo plano em um período de 24 horas.

A duração da bateria mostrada é uma estimativa com base em informações de todos os usuários medidos do app. Parar informações sobre como o Google Play coleta dados do Android vitals, consulte a documentação do Play Console.

Depois de identificar que o app tem wake locks parciais travados, a próxima etapa é resolver o problema.

Corrigir falha

Como os wake locks podem descarregar a bateria do dispositivo, não use wake locks se houver uma alternativa. A documentação Escolher a API certa para manter o dispositivo ativo pode ajudar você a encontrar a melhor solução para seu app.

Se você precisar usar um wake lock, siga as práticas recomendadas para garantir que ele não prejudique a eficiência do dispositivo. Em particular, verifique se todos os dispositivos que você adquiriu foram liberados e libere a trava o mais rápido possível.

Depois de corrigir o problema no código, você pode verificar as correções usando as ferramentas de depuração de wake lock locais.

Veja também