Profiler les performances de votre application

Une application est considérée comme peu performante si elle répond lentement, présente des animations saccadées, se fige ou consomme trop d'énergie. Pour résoudre les problèmes de performances, vous devez profiler votre application ou identifier les domaines dans lesquels votre application utilise de manière inefficace des ressources telles que le processeur, la mémoire, le processeur graphique ou la batterie de l'appareil. Cet article décrit les outils et les techniques Android Studio à utiliser pour résoudre les problèmes de performances courants.

Pour découvrir comment exécuter des profileurs autonomes sans exécuter l'intégralité de l'IDE Android Studio (Windows ou Linux uniquement), consultez Exécuter le profileur autonome.

Conditions requises

Pour profiler votre application, nous vous recommandons de disposer des éléments suivants:

  • Application avec une variante de build de version dont la configuration de fichier manifeste profileable est activée, également appelée application profilable. Par défaut, cette configuration est définie sur "true" pour les applications. Pour vérifier ou modifier cette configuration, ouvrez le fichier manifeste ou AndroidManifest.xml de votre application, puis recherchez la configuration du fichier manifeste profileable dans la section <application>:

    <profileable android:shell="true" />
    
  • Un appareil de test virtuel ou physique exécutant le niveau d'API 29 ou supérieur, et doté de Google Play.

  • Plug-in Android Gradle 7.3 ou version ultérieure

Applications profilables et débogables

Une application profilable vous permet d'effectuer la plupart des tâches de profilage courantes, mais vous devez utiliser une application débogable à la place si vous devez enregistrer des allocations Java/Kotlin ou capturer un vidage de tas. Un processus d'application débogable et un appareil exécutant le niveau d'API 26 ou supérieur vous permettent également d'afficher la chronologie Interaction, qui affiche les interactions des utilisateurs et les événements de cycle de vie des applications, dans les vues de tâches qui la fournissent.

Une application débogable est basée sur la variante de compilation debug de votre application et vous permet d'utiliser des outils de développement tels que le débogueur. Toutefois, elle entraîne des coûts de performances. Une application profilable est basée sur la variante de compilation release de votre application et permet d'exécuter un sous-ensemble de tâches de profilage courantes sans les coûts de performances de la version de débogage.

Créer et exécuter une application profilable

Pour créer et exécuter une application profilable dans Android Studio, procédez comme suit:

  1. Créez une configuration d'exécution/de débogage si vous n'en avez pas encore.
  2. Sélectionnez la variante de compilation de votre version (Build > Select Build Variant).
  3. Cliquez sur Autres actions > Profiler "app" avec faible surcharge ou Profiler "app" avec données complètes ("app" est le nom de la configuration d'exécution. Il peut donc être différent pour vous). Pour choisir entre les deux options, consultez la section Conditions requises. L'application s'ouvre sur votre appareil de test et le volet Profiler s'ouvre dans Android Studio.

Si ces instructions ne fonctionnent pas, consultez Créer et exécuter manuellement une application profilable.

Démarrer le profilage

Pour lancer une tâche de profilage, procédez comme suit:

  1. Sélectionnez un processus dans la liste de l'onglet Accueil du volet Profileur. Dans la plupart des cas, vous devez sélectionner le processus principal qui représente votre application.

    Onglet &quot;Accueil&quot; du profileur
  2. Sélectionnez une tâche de profilage dans la section Tâches. Pour en savoir plus sur les tâches, consultez les autres pages de cette section. Toutes les tâches de profilage ne sont pas disponibles pour tous les processus. Si vous ne savez pas par où commencer, obtenez une vue d'ensemble de l'activité de performances en inspectant votre application en direct.

  3. Utilisez le menu déroulant Démarrer la tâche de profileur à partir de pour indiquer si vous souhaitez démarrer la tâche de profileur au démarrage ou l'associer au processus pendant son exécution. Si vous essayez d'améliorer le temps de démarrage de votre application ou de capturer un processus qui se produit au démarrage de l'application, vous devez inclure le démarrage. Sinon, vous pouvez commencer le profilage à l'état actuel de votre application.

  4. Cliquez sur Démarrer la tâche du profileur. La tâche démarre dans son propre onglet.

  5. Interagissez avec votre application pour que les activités soient déclenchées.

  6. Arrêtez l'enregistrement (le cas échéant), attendez qu'il soit analysé, puis consultez les résultats.

Comparer, exporter et importer des traces

Lorsque vous arrêtez une tâche de profilage, elle est automatiquement enregistrée dans l'onglet Enregistrements précédents du volet Profileur. Vous pouvez utiliser ces enregistrements enregistrés pour comparer l'utilisation des ressources dans différents scénarios. Les enregistrements sont enregistrés pendant la durée de la session Android Studio en cours. Si vous souhaitez les conserver plus longtemps, exportez-les en cliquant sur Exporter l'enregistrement . Tous les types de traces ne peuvent pas être exportés.

Pour importer une trace, par exemple à partir d'une exécution précédente d'Android Studio, cliquez sur Import recording (Importer l'enregistrement)  dans l'onglet Past Recordings (Enregistrements précédents), puis sélectionnez votre fichier de trace. Vous pouvez également importer un fichier en le faisant glisser dans la fenêtre de l'éditeur Android Studio.

Modifier la configuration de l'enregistrement

Pour modifier la configuration de l'enregistrement de la tâche du profileur, cliquez sur les paramètres du profileur . Vous pouvez activer ou désactiver deux paramètres principaux:

  • Pour les tâches impliquant un échantillonnage, l'intervalle d'échantillonnage représente le temps écoulé entre chaque échantillon. Plus l'intervalle est court, plus vous atteindrez rapidement la limite de taille du fichier d'enregistrement de vos données.
  • La limite de taille de fichier représente la quantité de données pouvant être écrites sur l'appareil connecté. Lorsque vous arrêtez l'enregistrement, Android Studio analyse ces données et les affiche dans la fenêtre du profileur. Si vous augmentez la limite et enregistrez une grande quantité de données, Android Studio met beaucoup plus de temps à analyser le fichier et peut cesser de répondre.