Profiler les performances de votre application

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Une application est considérée comme peu performante si elle répond lentement, si les animations qu'elle présente sont saccadées, si elle se fige ou si elle consomme trop de batterie. Pour résoudre les problèmes de performances, identifiez les domaines dans lesquels votre application utilise de manière inefficace des ressources telles que le processeur, la mémoire, le processeur graphique, le réseau ou la batterie de l'appareil.

Pour identifier et résoudre ces problèmes, utilisez les outils et techniques de profilage et d'analyse comparative décrits dans cette rubrique. Pour connaître les techniques de mesure des performances et consulter des exemples d'utilisation de ces techniques afin de résoudre des problèmes spécifiques, consultez Mesurer les performances.

Android Studio propose plusieurs outils de profilage pour vous aider à identifier et à visualiser les problèmes potentiels :

  • CPU profiler (Profileur de processeur), qui permet de suivre les problèmes de performances d'exécution.
  • Memory profiler (Profileur de mémoire), qui permet de suivre les allocations de mémoire.
  • Le Network profiler (Profileur de réseau), qui surveille les utilisations du trafic réseau.
  • Le Energy profiler (Profileur d'énergie), qui permet de suivre la consommation d'énergie. Il peut contribuer à décharger la batterie.

Pour en savoir plus sur ces outils, consultez la page Android Studio Profilers (Profileurs Android Studio).

Les bibliothèques Jetpack Benchmark permettent à votre application de mesurer plusieurs opérations importantes :

  • Macrobenchmark : mesurez des cas majeurs d'utilisation des performances comme les démarrages et les redéfinitions d'application déclenchés par des actions telles que les animations de l'interface utilisateur ou les défilements.
  • Microbenchmark : mesurez le coût du processeur pour des fonctions spécifiques.

Pour en savoir plus sur ces bibliothèques, consultez la page Benchmark your app (Effectuer un benchmark de votre application).

Applications profilables

Profileable est une configuration de fichier manifeste introduite dans Android Q. Elle peut spécifier si l'utilisateur de l'appareil peut profiler une application via des outils tels qu'Android Studio, Simpleperf et Perfetto.

Avant profileable, la plupart des développeurs ne pouvaient profiler des applications débogables que sur Android, ce qui générait des coûts de performances importants. Ces coûts de performances pouvaient invalider les résultats du profilage, en particulier s'ils étaient liés au temps. Le tableau 1 résume les différences entre les applications débogables et profilables.

Tableau 1. Résumé des principales différences entre les applications débogables et profilables.
Fonctionnalité Débogable Profilable
Profileur de mémoire Complet

Oui :

Non :

Profileur de processeur Complet

Oui :

Non :

Network Profiler (Profileur de réseau) Oui Non
Profileur d'énergie Oui Non
Contrôle des événements Oui Non

Profileable a été introduit pour permettre aux développeurs d'autoriser leurs applications à exposer des informations à des outils de profilage, tout en générant des coûts de performances très faibles. Pour l'essentiel, un APK profilable est un APK de version avec une ligne de <profileable android:shell="true"/> ajoutée dans la section <application> du fichier manifeste.

Pour créer une application profilable, vous devez d'abord créer une application en version finale, puis mettre à jour son fichier manifeste, ce qui permettra la conversion.

Créer une application en version finale

Pour créer une application en version finale et la profiler, procédez comme suit :

  1. Signez votre application avec la clé de débogage en ajoutant les lignes suivantes au fichier build.gradle de votre application. Si vous disposez déjà d'une version de compilation qui fonctionne, vous pouvez passer à l'étape suivante.

            buildTypes {
              release {
                signingConfig signingConfigs.debug
              }
            }
          
  2. Dans Android Studio, sélectionnez Build > Select Build Variant... (Compiler > Sélectionner une variante de compilation), puis choisissez la variante de version finale.

Passer à la version profilable

  1. Convertissez votre application en version finale ci-dessus en application profilable en ouvrant le fichier AndroidManifest.xml et en ajoutant ce qui suit dans <application>. Pour en savoir plus, consultez Compiler une application en vue de sa publication.

    <profileable android:shell="true"/>

  2. Selon la version du SDK, vous devrez peut-être ajouter les lignes suivantes au fichier build.gradle de l'application.

          aaptOptions {
            additionalParameters =["--warn-manifest-validation"]
          }
        

Profiler une application

Pour profiler une application profilable, procédez comme suit :

  1. Depuis l'émulateur ou l'appareil de développement, démarrez l'application.

  2. Dans Android Studio, lancez le profileur en sélectionnant View > Outils Windows > Profileur (Affichage > Outils Windows > Profileur).

  3. Une fois l'application lancée, cliquez sur le bouton Bouton Plus du profileur dans le profileur pour afficher le menu déroulant. Sélectionnez votre appareil, puis sélectionnez l'entrée d'application sous Other profileable processes(Autres processus profilables).

    Menu profilable
  4. Le profileur doit être associé à l'application. Seuls les processeurs et les profileurs de mémoire sont disponibles, avec des capacités limitées pour ces derniers.

    Vue de session profilable
    Menu profilable
    Menu profilable