Utilisation excessive du réseau mobile en arrière-plan

Lorsqu'une application se connecte au réseau mobile en arrière-plan, elle active le processeur et allume la radio. Si cela se produit de façon répétée, cela risque d'épuiser la batterie de l'appareil. Une application est considérée comme s'exécutant en arrière-plan si elle se trouve dans l'état PROCESS_STATE_BACKGROUND ou PROCESS_STATE_CACHED.

Cette page explique comment déterminer pourquoi votre application utilise le réseau mobile de manière excessive lorsqu'elle s'exécute en arrière-plan, et comment y remédier.

Détecter le problème

Vous ne pouvez pas toujours savoir si votre application utilise le réseau de façon excessive en arrière-plan. 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 alertant via la Play Console lorsque votre application utilise le réseau mobile en arrière-plan de manière excessive.

Android Vitals considère que l'utilisation du réseau en arrière-plan est excessive lorsqu'une application envoie et reçoit un total cumulé de 50 Mo par jour alors qu'elle s'exécute en arrière-plan. 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.

Examiner le comportement d'utilisation du réseau mobile

Des outils tels que Battery Historian peuvent vous aider à mieux comprendre l'utilisation du réseau mobile par votre application. Battery Historian fournit une visualisation de l'utilisation des radios mobiles par application, ce qui vous permet d'avoir une idée plus précise de ce qui se passe pour votre application. Pour en savoir plus sur Battery Historian, consultez Analyser l'utilisation de la batterie avec Battery Historian. Lorsque vous examinez le comportement d'utilisation du réseau mobile par votre application, vous devez tenir compte en particulier de la ligne Utilisation du réseau mobile.

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

Réduire l'utilisation du réseau mobile

Vous pouvez passer l'utilisation du réseau mobile de votre application au premier plan afin d'avertir l'utilisateur qu'un téléchargement est en cours, et de lui permettre d'interrompre ou d'arrêter le téléchargement. Pour cela, appelez DownloadManager et définissez setNotificationVisibility(int) de façon appropriée.