Recherche Wi-Fi excessive en arrière-plan

Lorsqu'une application effectue des recherches Wi-Fi en arrière-plan, elle active le processeur, ce qui entraîne un taux de décharge de la batterie. Lorsque le nombre de recherches est trop important, l'autonomie de la batterie de l'appareil peut être considérablement écourtée. Une application s'exécute en arrière-plan si son état est PROCESS_STATE_BACKGROUND ou PROCESS_STATE_CACHED.

Ce document explique comment détecter lorsque votre application effectue trop de recherches Wi-Fi en arrière-plan, et fournit des conseils pour diagnostiquer et résoudre le problème.

Détecter le problème

Vous ne savez pas toujours que votre appli génère un nombre excessif de recherches Wi-Fi. Si vous avez déjà publié votre application, Android Vitals peut vous informer du problème afin que vous puissiez le résoudre.

Android Vitals

Android Vitals peut vous aider à améliorer les performances de votre application en vous envoyant une alerte via la Play Console lorsque votre application effectue une recherche Wi-Fi excessive en arrière-plan. Android Vitals considère que la recherche Wi-Fi est excessive lorsqu'une application effectue plus de quatre analyses par heure. Dans la Play Console, vous pouvez vérifier le pourcentage de sessions de batterie qui présentent ce comportement.

La définition d'une session de batterie dépend de la version de la plate-forme.

  • Sous Android 10, ce terme désigne l'agrégation de tous les rapports sur la batterie reçus sur une période de 24 heures. Le rapport sur la batterie fait référence à l'intervalle entre deux charges de la batterie, qui passe de moins de 20 % à plus de 80 %, ou de n'importe quel niveau de charge à 100 %.
  • Sous Android 11, une session de batterie correspond à une période fixe de 24 heures.

Pour savoir comment Google Play collecte les données Android Vitals, consultez la documentation de la Play Console.

Analyser les recherches Wi-Fi

Des outils tels que Battery Historian peuvent vous aider à mieux comprendre le comportement de recherche de votre application. Battery Historian fournit une visualisation du comportement de recherche Wi-Fi par application, ce qui vous permet d'avoir une idée plus précise de la situation. Pour en savoir plus sur l'historique de la batterie, consultez Analyser l'utilisation de la batterie avec Battery Historian.

Pour en savoir plus sur les mécanismes d'utilisation de Battery Historian, consultez la page Tutoriel de Batterystats et Battery Historian.

Réduire les recherches

Si possible, votre application doit effectuer des recherches Wi-Fi pendant qu'elle s'exécute au premier plan. Les services au premier plan présentent automatiquement des notifications. En effectuant des recherches Wi-Fi au premier plan, l'utilisateur est informé du motif et du moment de l'analyse Wi-Fi sur son appareil.

Pour en savoir plus sur l'analyse au premier plan, consultez la documentation de la classe WifiManager.

Si votre application ne peut pas éviter les recherches Wi-Fi en arrière-plan, il peut être utile d'appliquer une stratégie Lazy First. Celle-ci comprend trois techniques que vous pouvez utiliser pour réduire les recherches Wi-Fi : réduire, différer et coaliser. Pour en savoir plus sur ces techniques, consultez Optimiser l'autonomie de la batterie.