Quando um app faz buscas por Wi-Fi em segundo plano, ele ativa a CPU, gerando aumento do consumo da bateria. Quando ocorrem muitas buscas, a duração da bateria do dispositivo pode ser visivelmente reduzida. Um app é considerado em execução em segundo plano se está no estado PROCESS_STATE_BACKGROUND
ou PROCESS_STATE_CACHED
.
Este documento explica como detectar quando seu app está fazendo muitas buscas por Wi-Fi em segundo plano e oferece dicas sobre como diagnosticar e resolver o problema.
Detectar o problema
Nem sempre você sabe que seu app está exibindo um número excessivo de buscas por Wi-Fi. Se você já tiver publicado o app, o "Android vitals" poderá informá-lo sobre o problema para corrigi-lo.
Android vitals
O "Android vitals" pode ajudar a melhorar o desempenho do seu app alertando você, por meio do Play Console, quando o app estiver fazendo busca excessiva por Wi-Fi em segundo plano. O "Android vitals" considera a busca por Wi-Fi excessiva quando um app faz mais de quatro buscas por hora durante a execução em segundo plano em 0,10% da duração da bateria.
A duração da bateria se refere ao intervalo entre duas cargas completas da bateria. Para ver informações sobre como o Google Play coleta dados do Android vitals, consulte a documentação do Play Console.
Investigar as buscas por Wi-Fi
Ferramentas como o Battery Historian podem ajudar você a ter mais informações sobre o comportamento de busca do seu app. O Battery Historian fornece uma visualização do comportamento de busca por Wi-Fi de cada app, o que pode ajudar a saber mais sobre o que está acontecendo com seu app. Para ver mais informações sobre o Battery Historian, consulte Como analisar o uso de energia com o Battery Historian.
Para mais informações sobre os mecanismos de uso do Battery Historian, consulte Tutorial sobre o Batterystats e o Battery Historian.
Reduzir as buscas
Se possível, o app deve fazer buscas por Wi-Fi enquanto estiver sendo executado em primeiro plano. Serviços em primeiro plano apresentam notificações automaticamente. Assim, as buscas por Wi-Fi em primeiro plano informam o usuário do motivo e do momento em que as buscas por Wi-Fi ocorrem no dispositivo.
Para ver informações sobre como buscar Wi-Fi em primeiro plano, consulte a documentação da classe WifiManager
.
Se seu app não puder evitar a realização de buscas por Wi-Fi enquanto estiver sendo executado em segundo plano, ele poderá se beneficiar da aplicação da estratégia Lazy First. A Lazy First engloba três técnicas que podem ser usadas para diminuir as buscas por Wi-Fi: reduzir, adiar e unir. Para ver mais informações sobre essas técnicas, consulte Como otimizar a duração da bateria.