Wake locks parciais em excesso

Wake locks parciais são um mecanismo da API PowerManager que permite 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. O uso excessivo de wake locks parciais consome a bateria do dispositivo porque impede que ele entre em estados de baixo consumo de energia.

Detectar o problema

Android vitals

O Android vitals pode ajudar a melhorar o desempenho do seu app alertando você pelo Play Console quando o uso de wake locks parciais do app é excessivo.

O Android vitals informa que o uso de wake locks parciais é excessivo quando todos os wake locks parciais, somados, são executados por duas horas ou mais em um período de 24 horas. O Android vitals rastreia a duração do wake lock somente se ele for mantido quando o app estiver em segundo plano ou executando um serviço em primeiro plano. No momento, o Android vitals isenta do cálculo de wake lock os wake locks criados pelas APIs iniciadas pelo usuário de áudio, localização e JobScheduler.

O painel de wake locks parciais excessivos do Android vitals mostra detalhamentos dos nomes de wake locks não isentos associados ao seu app, mostrando sessões e durações afetadas.

Se ocorrerem wake locks parciais excessivos em mais de 5% das sessões do app em todos os dispositivos em um período de 28 dias, isso poderá afetar a visibilidade do app no Google Play.