Busca excessiva por Wi-Fi em segundo plano

Quando um app faz buscas por Wi-Fi em segundo plano, ele ativa a CPU, o que gera um consumo elevado da bateria. Quando ocorrem muitas buscas, a duração da bateria do dispositivo pode ser reduzida drasticamente. Um app é considerado em execução em segundo plano se está no estado PROCESS_STATE_BACKGROUND ou PROCESS_STATE_CACHED.

Este documento oferece dicas sobre como diagnosticar e resolver o problema de buscas excessivas por Wi-Fi em segundo plano.

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 mais informações, consulte Como analisar o uso de energia com o Battery Historian.

Para mais informações sobre os mecanismos de uso do Battery Historian, consulte o 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. As buscas por Wi-Fi em primeiro plano informam o usuário do motivo e do momento em que elas ocorrem no dispositivo.

Para ter informações sobre como buscar Wi-Fi em primeiro plano, consulte a documentação da classe WifiManager.

Se o app não puder evitar a realização de buscas por Wi-Fi enquanto estiver sendo executado em segundo plano, ele poderá aplicar a 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.