Busca excessiva por Wi-Fi em segundo plano

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 em cada app, o que pode ajudar você a ter uma ideia mais clara do que está acontecendo com seu app. Para 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 mais informações sobre como fazer buscas 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 mais informações sobre essas técnicas, consulte Como otimizar a duração da bateria.