Profileur Android

Le Profileur Android disponible dans Android Studio 3.0 et versions ultérieures remplace les outils Android Monitor. Les outils du Profileur Android fournissent des données en temps réel pour vous aider à comprendre comment votre application utilise les différentes ressources (processeur, mémoire, réseau et batterie).

Pour en savoir plus sur chacun des profileurs, consultez les pages suivantes :

Le Profileur Android est compatible avec Android 5.0 (niveau d'API 21) ou version ultérieure.

La vidéo ci-dessous vous présente le Profileur Android.

Pour ouvrir la fenêtre Profiler, sélectionnez View > Tool Windows > Profiler (Affichage > Fenêtres d'outil > Profileur) ou cliquez sur Profiler (Profileur)  dans la barre d'outils. Si vous y êtes invité par la boîte de dialogue Select Deployment Target (Sélectionner une cible de déploiement), sélectionnez l'appareil sur lequel vous souhaitez profiler votre application. Si vous avez connecté un appareil via USB, mais qu'il ne figure pas dans la liste, vérifiez que vous avez bien activé le débogage USB. Si vous utilisez Android Emulator ou un appareil en mode root, le Profileur Android liste tous les processus en cours d'exécution, même s'ils ne peuvent pas être débogués. Lorsque vous lancez une application débogable, ce processus est sélectionné par défaut.

Le Profileur Android continue de collecter les données de profilage jusqu'à ce que vous déconnectiez l'appareil ou que vous cliquiez sur End Session (Terminer la session).

Figure 1. Vue chronologique partagée du Profileur Android

1 Le Profileur Android affiche le processus et l'appareil en cours de profilage.

2 Dans le volet Sessions, sélectionnez la session à afficher ou lancez une nouvelle session de profilage.

3 Utilisez les boutons de zoom pour contrôler la partie de la chronologie à afficher ou utilisez le bouton Attach to live (Associer aux diffusions en direct) pour accéder aux mises à jour en temps réel.

4 La chronologie des événements présente les événements liés aux entrées utilisateur, dont l'activité du clavier, les changements de réglage du volume et les rotations d'écran.

5 Vue chronologique partagée, qui comprend des graphiques sur l'utilisation du processeur, de la mémoire et du réseau, ainsi que sur la consommation d'énergie.

Cette vue partagée n'affiche que les graphiques chronologiques. Pour accéder aux outils de profilage détaillés, cliquez sur le graphique correspondant aux données de performances que vous souhaitez inspecter. Par exemple, pour accéder aux outils permettant d'inspecter le tas de mémoire et de suivre les allocations de mémoire, cliquez sur le graphique Memory (Mémoire).

Toutes les données de profilage ne sont pas visibles par défaut. Si le message indiquant que le profilage avancé n'est pas disponible pour le processus sélectionné est affiché, vous pouvez activer le profilage avancé dans votre configuration d'exécution pour afficher les données supplémentaires.

Sessions

Vous pouvez enregistrer les données du Profileur en tant que sessions qui sont conservées jusqu'à la fermeture d'Android Studio. Vous pouvez comparer l'utilisation des ressources dans différents scénarios en enregistrant les informations de profilage dans plusieurs sessions et en basculant entre elles.

  • Pour démarrer une nouvelle session, cliquez sur le bouton Start a new profiling session (Démarrer une nouvelle session de profilage) , puis sélectionnez un processus d'application dans le menu déroulant.

    Lorsque vous enregistrez une trace ou capturez une empreinte de la mémoire, Android Studio ajoute ces données (ainsi que l'activité réseau de votre application) comme une entrée distincte de la session actuelle.

  • Pour arrêter d'ajouter des données à la session en cours, cliquez sur Stop the current profiling session (Arrêter la session de profilage en cours) .

  • Pour importer une trace exportée à partir d'une exécution précédente d'Android Studio, cliquez sur Start new profiler session (Démarrer une nouvelle session du profileur) , puis sélectionnez Load from file (Charger à partir du fichier).

Activer une prise en charge supplémentaire pour les appareils plus anciens (niveau d'API < 26)

Pour afficher des données de profilage supplémentaires lors de l'exécution d'un appareil équipé d'Android 7.1 ou version antérieure, Android Studio doit injecter une logique de surveillance dans votre application compilée. Ces données de profilage supplémentaires sont les suivantes :

  • Chronologie des événements sur toutes les fenêtres du profileur
  • Nombre d'objets alloués dans le Profileur de mémoire
  • Événements de récupération de mémoire dans le Profileur de mémoire
  • Détails sur tous les fichiers transmis dans le Profileur de réseau

Pour activer la prise en charge supplémentaire des appareils plus anciens, procédez comme suit :

  1. Sélectionnez Run > Edit Configurations (Exécuter > Modifier les configurations).
  2. Sélectionnez votre module d'application dans le volet de gauche.
  3. Cliquez sur l'onglet Profiling (Profilage), puis cochez la case Enable additional support for older devices (API level < 26) (Activer la prise en charge supplémentaire pour les appareils plus anciens (niveau d'API < 26)).
  4. Compilez et exécutez à nouveau votre application.

L'activation de la prise en charge supplémentaire des appareils plus anciens ralentit le processus de compilation. Vous ne devez donc l'activer que lorsque vous souhaitez commencer à profiler votre application.

Exécuter des profileurs autonomes

Les profileurs Android Studio autonomes vous permettent de profiler votre application sans exécuter l'intégralité de l'IDE Android Studio.

Pour exécuter les profileurs autonomes :

  1. Vérifiez que le profileur n'est pas en cours d'exécution dans Android Studio.
  2. Accédez au répertoire d'installation, puis au répertoire bin :

    Windows/Linux : <studio-installation-folder>/bin

    macOS : <studio-installation-folder>/Contents/bin

  3. Exécutez profiler.exe ou profiler.sh en fonction de l'OS utilisé. L'écran de démarrage d'Android Studio s'affiche.

    Lorsque l'écran de démarrage disparaît, une fenêtre de profileur s'ouvre :

  4. Démarrez Android Emulator ou connectez un appareil Android et attendez le chargement de l'écran d'accueil. Pour exécuter l'émulateur à partir de la ligne de commande, consultez Lancer l'émulateur à partir de la ligne de commande. Si vous lancez l'émulateur à partir d'Android Studio, veillez à fermer Android Studio après le démarrage de l'émulateur.

    Dans le menu du profileur autonome, cliquez sur le bouton . Tous vos appareils connectés et émulateurs doivent maintenant être affichés :

    Par exemple, ouvrez Google Maps dans l'émulateur. Créez une session de profilage en sélectionnant un émulateur dans le menu déroulant, puis sélectionnez com.google.android.apps.maps (...). Une session de profilage est alors lancée.

Lorsque vous interagissez avec la carte, les événements tactiles et l'utilisation du processeur apparaissent dans le profileur. Cliquez sur les graphiques "CPU" (Processeur), "Memory" (Mémoire), "Network" (Réseau) ou "Energy" (Énergie) pour afficher plus de détails.

Cliquez sur le bouton pour mettre fin à la session de profilage.