Demasiadas búsquedas de Wi-Fi en segundo plano

Cuando una app realiza búsquedas de Wi-Fi en segundo plano, activa la CPU, lo que provoca un agotamiento de la batería. Cuando se realizan demasiadas búsquedas, se puede reducir de forma notoria la duración de batería del dispositivo. Se considera que una app se ejecuta en segundo plano si tiene el estado PROCESS_STATE_BACKGROUND o PROCESS_STATE_CACHED.

En este documento, se explica cómo detectar cuando tu app realiza demasiadas búsquedas de Wi-Fi en segundo plano y se incluyen sugerencias sobre cómo diagnosticar el problema y corregirlo.

Cómo detectar el problema

Quizás no siempre estés al tanto de que tu app realiza una cantidad excesiva de búsquedas de Wi-Fi. Si ya la publicaste, Android vitals puede ayudarte a que te enteres del problema para que puedas corregirlo.

Android vitals

Android vitals puede ayudarte a mejorar el rendimiento de tu app. Para ello, te envía alertas a través de Play Console cuando realiza demasiadas búsquedas de Wi-Fi en segundo plano. Android vitals considera que las búsquedas de Wi-Fi son demasiadas cuando una app realiza más de 4 búsquedas por hora en 0.10% de las sesiones de batería mientras se ejecuta en segundo plano.

Una sesión de batería es el intervalo entre dos cargas de batería completa. Para obtener información sobre cómo Google Play recopila datos de Android vitals, consulta la documentación de Play Console.

Cómo investigar las búsquedas de Wi-Fi

Algunas herramientas, como Battery Historian, pueden ayudarte a obtener estadísticas más detalladas sobre el comportamiento de búsqueda de Wi-Fi de tu app. Battery Historian te permite visualizar el comportamiento de búsqueda de Wi-Fi por app. De esta forma, podrás obtener un panorama más claro de la actividad de tu app. Para obtener más información sobre Battery Historian, consulta Cómo analizar el uso de la energía con Battery Historian.

Para obtener información sobre cómo usar Battery Historian, consulta la Explicación de Batterystats y Battery Historian.

Cómo reducir las búsquedas

Si es posible, tu app debería realizar las búsquedas de Wi-Fi mientras se ejecuta en primer plano. Los servicios en primer plano presentan notificaciones automáticamente. Por lo tanto, al realizar las búsquedas de Wi-Fi en primer plano, el usuario puede saber cuándo se llevan cabo en su dispositivo y el motivo.

Para obtener información sobre cómo realizar búsquedas en primer plano, consulta la documentación de la clase WifiManager.

Si tu app no puede evitar realizar las búsquedas de Wi-Fi mientras se ejecuta en segundo plano, puedes aplicar una estrategia de inicialización diferida. Incluye tres técnicas que puedes usar para disminuir las búsquedas de Wi-Fi: reducir, diferir y fusionar. Para obtener información sobre estas técnicas, consulta Cómo optimizar la duración de batería.