O que são Android Wakelocks e como corrigi-los
Miscelânea / / December 02, 2021
Você já foi para a cama com seu Bateria do Android carregada adequadamente, mas acordou com um telefone completamente vazio pela manhã? Se a resposta for sim, você pode ser afetado pelos aplicativos wakelock instalados em seu smartphone. Claro, isso também pode ser devido a bateria fraca. Mas os cenários de wakelock do sistema, devido a aplicativos mal comportados que usam os recursos do seu telefone e drenam a vida útil da bateria, podem acontecer até mesmo em dispositivos saudáveis.
![Jovem fazendo um gesto de dormir](/f/adc90a8ca1d17529b33b1c58193fb36e.jpg)
Para compreender melhor o problema, veremos o que são wakelocks no que diz respeito ao Android e como podemos detectar e corrigir o problema para melhorar a vida útil da bateria.
O que são Wakelocks?
Ao pressionar o botão liga / desliga do telefone para bloquear a tela, você presume que o telefone entrará no modo de espera. Mas nem sempre é o caso. Existem aplicativos que são executados em segundo plano, usando os recursos do dispositivo e impedindo o telefone de entrar no modo de hibernação. Por causa disso, o processador do telefone está funcionando constantemente, o que esgota a vida útil da bateria mesmo quando você não a está usando. A maioria desses wakelocks é causada porque os aplicativos desejam sincronizar dados em segundo plano ou usar serviços de localização.
![Estatísticas da bateria 2](/f/9c8a9dd04ad8af0a7be84a033bf62348.png)
Portanto, os aplicativos que mantêm a CPU em execução mesmo depois que o telefone está no modo de hibernação são chamados de aplicativos wakelock. No entanto, esses aplicativos não são totalmente culpados. Esses wakelocks são necessários se você deseja ver uma caixa de entrada de e-mail atualizada pela manhã. Os aplicativos usam a permissão para sincronizar dados com os servidores, o que às vezes dura apenas alguns minutos.
![Estatísticas da bateria 1](/f/dcdb0c99322516189fab8efcb9db6ac5.png)
O problema começa quando alguns aplicativos usam essa permissão por até uma hora e fazem com que a CPU do seu telefone funcione o tempo todo. Veja o Google Play Services, por exemplo. Se sua localização estiver habilitada, o serviço manterá a CPU do seu telefone acordada quase toda a noite e reduzirá drasticamente a vida útil da bateria.
Agora que sabemos o que são wakelocks, vamos ver como podemos detectar os aplicativos que estão causando isso.
Observação: Como precisaremos de permissões elevadas para recuperar esses dados, o acesso root é necessário. Sem permissões de root em seu dispositivo, Temo que não haja muito que você possa fazer sobre o problema do wakelock. Mas fazer o root de um dispositivo ser fácil hoje em dia, então não se esqueça de marcar esta página e voltar a ela assim que você descobrir como fazer o root em seu Android (e fazer o root também).
Detectando aplicativos que causam wakelocks
Detectar wakelocks é muito fácil, uma vez que você tenha um telefone enraizado. Carregue totalmente a bateria a 100% e instale um aplicativo, chamado Detector Wakelock, no dispositivo. Feito isso, reinicie o telefone uma vez e inicie o aplicativo. O Wakelock Detector solicitará acesso root e será executado em segundo plano, coletando dados.
![Detector Wakelock 3](/f/7d26b42757627ec4142193c611e8be7c.png)
![Detector Wakelock 2](/f/07e17e5a5be79aeec280d36fbb6d58d5.png)
Volte para o aplicativo após algumas horas e você poderá ver por quanto tempo seus aplicativos mantiveram a CPU em execução em segundo plano. Você também pode verificar o número de vezes que um aplicativo acionou o wakelock.
![Detector Wakelock 4](/f/8f913641121953d3672f288652431987.png)
![Detector Wakelock 1](/f/f1c9a098b635ec3a6f1db796fc8eca7c.png)
Resolvendo o problema
Agora que conhecemos os aplicativos que estão causando esses wakelocks, uma das opções mais simples seria desinstalar o aplicativo e encontrar uma alternativa melhor na Play Store. Mas existem aplicativos de sistema como o Google Play Services que você não pode desinstalar. Esses aplicativos são necessários para o funcionamento do telefone.
![Amplificar 2](/f/77fb2fc1a25e3846c67c5b8c5128d9ba.png)
![Amplificar 1](/f/609ae367b2d9b2975fb51f9d49d828dd.png)
Para controlar esses aplicativos, você pode instalar um Módulo Xposed chamado Amplify. Amplify é basicamente um aplicativo de economia de bateria para Android, mas ao contrário de outros, tem um módulo para restringir solicitações de wakelock de diferentes aplicativos instalados em seu sistema. Selecione os Wakelock opção na barra de navegação do lado direito. Selecione a permissão que deseja restringir e designe um período de tempo favorável. O aplicativo também fornece uma configuração recomendada para corrigir o problema.
![Amplificar 3](/f/43b495cdebcc54f8a5db4d4a488e7fcd.png)
Conclusão
Isso era basicamente tudo sobre wakelocks no Android e como consertar os problemas de bateria que eles podem causar. Pessoas com alto consumo de energia devido aos Serviços de localização do Google em execução em segundo plano devem testá-lo. Em caso de confusão ou para maiores explicações, basta deixar um comentário e ficaremos felizes em ajudar.