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 ao usar outras APIs que recebem wake locks.
Um wake lock parcial fica travado se permanece retido por muito tempo enquanto
seu 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.
Corrigir o problema
Como os wake locks podem consumir a bateria do dispositivo, não use esse recurso 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 eles não prejudiquem a eficiência do dispositivo. Em particular, verifique se todos os dispositivos adquiridos foram liberados e libere o bloqueio o mais rápido possível.
Depois de corrigir o problema no código, verifique as correções usando as ferramentas locais de depuração de wake lock.
Consulte também
Recomendados para você
- Observação: o texto do link aparece quando o JavaScript está desativado
- Frames congelados
- Executar comparativos na integração contínua
- Criar e medir perfis de referência sem a Macrobenchmark