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. Seu app adquire um
wake lock parcial ao chamar acquire() com a flag PARTIAL_WAKE_LOCK
ou usando outras APIs que adquirem wake locks.
O uso excessivo de wake locks parciais 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.
Se o app usar wake locks parciais em excesso, use as orientações desta 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.
Seu app também pode estar usando wake locks mesmo que você não esteja adquirindo o wake lock explicitamente. Se você encontrar bloqueios de despertar atribuídos a um app que não reconhece, identificar bloqueios de despertar criados por outras APIs pode ajudar a identificar as APIs que podem ter criado esses bloqueios.
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
- Wake locks parciais travados
- Escolher a API certa para manter o dispositivo ativado
- Documentação sobre wake lock
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