Utiliser un profil de référence
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Les profils de référence améliorent la vitesse d'exécution du code d'environ 30% dès le premier lancement en évitant l'interprétation et les étapes de compilation juste à temps (JIT) pour les chemins de code inclus. En expédiant un profil de référence dans une application ou une bibliothèque, vous permettez à Android Runtime (ART) d'optimiser les chemins de code inclus via la compilation anticipée (ou compilation AOT), ce qui permet d'améliorer les performances pour chaque nouvelle installation et chaque mise à jour d'application. Cette optimisation guidée des profils (PGO) permet aux applications d'optimiser le démarrage, de réduire les à-coups d'interaction et d'améliorer les performances d'exécution globales dès le premier lancement pour les utilisateurs finaux.
Considérations sur les performances de Compose
Compose est distribué sous la forme d'une bibliothèque et non de la plate-forme Android.
Cette approche permet à l'équipe Compose de mettre à jour Compose fréquemment et de prendre en charge un large éventail de versions d'Android. Toutefois, la distribution de Compose en tant que bibliothèque entraîne un coût.
Le code de la plate-forme Android est déjà compilé et installé sur l'appareil.
Toutefois, les bibliothèques doivent être chargées au lancement de l'application et interprétées JIT si nécessaire. Cela peut ralentir l'application au démarrage et lorsqu'elle utilise une fonctionnalité de la bibliothèque pour la première fois.
Avantages des profils de référence
Vous pouvez améliorer les performances en définissant des profils de référence. Ces profils définissent les classes et les méthodes requises lors des parcours utilisateur critiques. Ils sont distribués avec l'APK ou l'AAB de votre application. Lors de l'installation de l'application, ART compile ce code critique AOT afin qu'il soit prêt à être utilisé au lancement de l'application.
Une bonne définition d'un profil de référence n'est pas toujours simple. Pour cette raison, Compose dispose d'un profil de référence par défaut. Vous n'aurez peut-être rien à faire pour en bénéficier. Toutefois, le profil de référence fourni avec Compose ne contient que des optimisations pour le code de la bibliothèque Compose.
Macrobenchmark
Pour obtenir la meilleure optimisation, créez un profil de référence pour votre application qui utilise Macrobenchmark afin de couvrir les parcours utilisateur critiques. Lorsque vous définissez votre propre profil, vous devez le tester pour vérifier qu'il est utile. Pour ce faire, vous pouvez écrire des tests Macrobenchmark pour votre application et vérifier les résultats au fur et à mesure que vous écrivez et révisez votre profil de référence.
Pour obtenir un exemple d'écriture de tests Macrobenchmark pour l'interface utilisateur de Compose, consultez l'exemple Macrobenchmark Compose.
Autres ressources
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/27 (UTC)."],[],[],null,["# Use a baseline profile\n\n[Baseline Profiles](/baseline-profiles) improve code execution speed by about 30% from the first\nlaunch by avoiding interpretation and just-in-time (JIT) compilation steps for\nincluded code paths. By shipping a Baseline Profile in an app or library, you\nenable Android Runtime (ART) to optimize included code paths through\nahead-of-time (AOT) compilation, providing performance enhancements for every\nnew app install and every app update. This profile-guided optimization (PGO)\nlets apps optimize startup, reduce interaction jank, and improve overall runtime\nperformance from the first launch for end users.\n\nCompose performance considerations\n----------------------------------\n\nCompose is distributed as a library instead of as part of the Android platform.\nThis approach lets the Compose team update Compose frequently and support a wide\nrange of Android versions. However, distributing Compose as a library imposes a\ncost.\n\nAndroid platform code is already compiled and installed on the device.\nLibraries, however, need to be loaded when the app launches and interpreted JIT\nwhen needed. This can slow the app on startup and when it uses a library feature\nfor the first time.\n\nBenefits of baseline profiles\n-----------------------------\n\nYou can improve performance by defining [Baseline Profiles](/topic/performance/baselineprofiles/overview). These profiles\ndefine classes and methods needed on critical user journeys and are distributed\nwith your app's APK or AAB. During app installation, ART compiles this critical\ncode AOT so that it's ready for use when the app launches.\n\nA good Baseline Profile definition is not always straightforward, and because\nof this, Compose ships with one by default. You might not have to do any work to\nsee this benefit. However, the Baseline Profile that ships with Compose only\ncontains optimizations for the code within the Compose library.\n\n### Macrobenchmark\n\nTo get the best optimization, [create a Baseline Profile](/topic/performance/baselineprofiles/create-baselineprofile)\nfor your app that uses [Macrobenchmark](/studio/profile/macrobenchmark-overview) to cover critical user journeys. When\nyou define your own profile, you must test the profile to verify that it's\nhelping. A good way to do that is to write [Macrobenchmark](/studio/profile/macrobenchmark-overview) tests for your\napp and check the test results as you write and revise your Baseline Profile.\n\nFor an example of how to write Macrobenchmark tests for your Compose UI, see the\n[Macrobenchmark Compose sample](https://github.com/android/performance-samples/tree/main/MacrobenchmarkSample).\n\nAdditional Resources\n--------------------\n\n- **[App performance guide](/topic/performance/overview)**: Discover best practices, libraries, and tools to improve performance on Android.\n- **[Inspect Performance](/topic/performance/inspecting-overview):** Inspect app performance.\n- **[Benchmarking](/topic/performance/benchmarking/benchmarking-overview):** Benchmark app performance.\n- **[App startup](/topic/performance/appstartup/analysis-optimization):** Optimize app startup.\n- **[Baseline profiles](/baseline-profiles):** Understand baseline profiles."]]