Wake locks parciais em excesso

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. 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ê no Play Console quando o uso de wake locks parciais for 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 ou mais horas 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. Atualmente, o Android vitals isenta os wake locks criados por APIs iniciadas pelo usuário de áudio, local e JobScheduler do cálculo de wake locks.

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

Se wake locks parciais excessivos ocorrerem 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.