L'outil de trafic réseau est obsolète. Si vous utilisez Android Studio 3.0 ou une version ultérieure, nous vous conseillons d'utiliser le Profileur de réseau pour savoir comment et quand votre application transfère des données sur un réseau.
Dans la section précédente, vous avez ajouté des tags au code de votre application avec des identifiants de trafic, effectué des tests et collecté des données. Dans cette leçon, vous allez apprendre à examiner les données de trafic réseau que vous avez collectées. Vous découvrirez également comment effectuer des actions pour améliorer les performances de mise en réseau de votre application et réduire la consommation d'énergie.
Analyser le trafic réseau des applications
L'utilisation efficace des ressources du réseau par une application est caractérisée par des périodes importantes pendant lesquelles le matériel du réseau n'est pas utilisé. Sur les appareils mobiles, l'activation du signal radio pour l'envoi ou la réception de données et le maintien du signal pendant de longues périodes ont un coût important. Si votre application accède efficacement au réseau, vous devriez constater que ses communications sur le réseau sont étroitement regroupées, bien espacées avec des périodes où l'application n'effectue aucune requête de connexion.
La figure 1 illustre le trafic réseau non optimal d'une application, tel que mesuré par l'outil de trafic réseau. L'application envoie fréquemment des requêtes réseau. Le trafic a peu de temps de repos pendant lequel le signal radio peut passer en mode veille à faible consommation d'énergie. Le comportement d'accès au réseau de cette application est susceptible de maintenir le signal actif pendant de longues périodes, ce qui n'économise pas la batterie.
La figure 2 illustre un schéma de trafic réseau optimal. L'application envoie des requêtes réseau en rafales, séparées par de longues périodes sans trafic, pendant lesquelles le signal peut passer en veille. Ce graphique montre le même volume de travail que la figure 1, mais les requêtes ont été décalées et regroupées pour permettre au signal d'être en veille la plupart du temps.
Si le trafic réseau de votre application ressemble au graphique de la figure 2, vous êtes en bonne voie. Félicitations ! Pour améliorer l'efficacité du réseau, vous pouvez consulter les techniques décrites dans Optimiser l'utilisation générale du réseau.
Si le trafic réseau de votre application ressemble davantage au graphique de la figure 1, il est temps d'examiner plus attentivement la manière dont votre application accède au réseau. Vous devez commencer par analyser les types de trafic réseau que votre application génère.
Analyser les types de trafic réseau
Lorsque vous examinez le trafic réseau généré par votre application, vous devez comprendre la source du trafic afin de l'optimiser de manière appropriée. Une activité réseau générée fréquemment par votre application peut être tout à fait appropriée si elle répond aux actions des utilisateurs, mais complètement inappropriée si votre application n'est pas au premier plan, ou si l'appareil se trouve dans une poche ou un sac à main. Cette section explique comment analyser les types de trafic réseau générés par votre application et vous oriente vers les mesures à prendre pour obtenir de meilleures performances.
Dans la leçon précédente, vous avez ajouté des balises à votre code d'application pour différents types de trafic, et utilisé l'outil de trafic réseau pour collecter des données sur votre application et générer un graphique d'activité, comme illustré dans la figure 3.
L'outil de trafic réseau colore le trafic en fonction des balises que vous avez créées dans la leçon précédente. Les couleurs sont basées sur les constantes de type de trafic que vous avez définies dans le code de votre application. Reportez-vous au code de votre application pour vérifier quelles constantes représentent le trafic généré par l'utilisateur, l'application ou le serveur.
Les sections suivantes décrivent comment examiner les types de trafic réseau, et fournissent des recommandations pour optimiser le trafic.
Analyser le trafic réseau généré par l'utilisateur
L'activité réseau générée par l'utilisateur peut être efficacement regroupée lorsqu'il effectue une activité spécifique avec votre application, ou s'éparpiller à mesure que l'utilisateur demande des informations supplémentaires pour votre application. L'analyse du trafic réseau généré par l'utilisateur consiste à trouver des tendances d'utilisation fréquente du réseau au fil du temps et à tenter de créer, ou d'allonger des périodes pendant lesquelles le réseau n'est pas accessible.
L'imprévisibilité des requêtes utilisateur rend difficile l'optimisation de ce type d'utilisation du réseau dans votre application. De plus, les utilisateurs s'attendent à des réponses rapides lorsqu'ils utilisent activement une application. Par conséquent, retarder les requêtes d'efficacité peut nuire à l'expérience utilisateur. En règle générale, privilégiez une réponse rapide à l'utilisation efficace du réseau lorsqu'un utilisateur interagit directement avec votre application.
Voici quelques approches pour optimiser le trafic réseau généré par l'utilisateur :
- Précharger les données réseau – Lorsque l'utilisateur effectue une action dans votre application, elle anticipe les données qui pourraient être nécessaires pour les actions suivantes de l'utilisateur, les extrait de manière groupée en une seule connexion et les conserve jusqu'à ce que l'utilisateur les demande.
- Vérifier la connectivité ou être attentif aux modifications – Vérifiez la connectivité réseau ou soyez attentif aux modifications de connectivité avant d'effectuer une mise à jour.
- Réduire le nombre de connexions – Utilisez des API de serveur permettant le téléchargement d'ensembles de données.
Analyser le trafic réseau généré par l'application
L'activité réseau déclenchée par le code de votre application est généralement un domaine dans lequel vous pouvez avoir un impact important sur l'utilisation efficace de la bande passante réseau. Lors de l'analyse de l'activité réseau de votre application, recherchez les périodes d'inactivité et déterminez si vous pouvez les allonger. Si vous constatez des tendances d'accès réseau récurrents de la part de votre application, essayez d'espacer ces accès pour permettre au signal radio de l'appareil de passer en mode économie d'énergie.
Voici quelques approches pour optimiser le trafic réseau généré par l'application :
Requêtes réseau par lots programmés – Retardez les requêtes réseau de votre application afin qu'elles puissent être traitées ensemble, à un moment opportun, pour prolonger l'autonomie de la batterie.
Autoriser le système à vérifier la connectivité – Évitez les coûts liés à l'exécution de votre application dans le seul but de vérifier la connexion réseau lorsque vous pouvez laisser le système effectuer la vérification pendant que l'application est en veille.
Analyser le trafic réseau généré par le serveur
L'activité réseau générée par les serveurs qui communiquent avec votre application est un autre domaine dans lequel vous pouvez avoir un impact important sur l'utilisation efficace de la bande passante réseau. Lors de l'analyse de l'activité réseau des connexions serveur, recherchez les périodes d'inactivité et déterminez si vous pouvez les allonger. Si vous constatez des tendances d'activités réseau récurrentes de la part de serveurs, essayez d'espacer ces activités pour permettre au signal radio de l'appareil de passer en mode économie d'énergie.
Voici une approche permettant d'optimiser le trafic réseau généré par le serveur :
- Utiliser FCM pour les mises à jour du serveur – Envisagez d'utiliser le service Firebase Cloud Messaging pour les mises à jour côté serveur plutôt que de procéder à des interrogations.