Jetpack Compose offre d'excellentes performances prêtes à l'emploi. Configurez votre application en suivant les bonnes pratiques pour éviter les pièges courants et optimiser les performances de votre application Compose.
Analyse comparative de Jetpack Compose
Pour valider les performances de Jetpack Compose par rapport à Views, nous utilisons des benchmarks de référence, c'est-à-dire des benchmarks qui se concentrent sur des parcours utilisateur importants et réels, comme le démarrage à froid d'une application ou le défilement d'une liste ou d'une grille avec des images. Nous effectuons ces benchmarks à l'aide de l'application Pokedex Open Source, en comparant ses implémentations Views et Compose.
Ces benchmarks montrent que Compose 1.9 et versions ultérieures correspondent aux performances de Views pour les saccades lors du défilement.
Pour découvrir d'autres métriques et en savoir plus sur nos méthodologies, consultez Benchmarks Hero.
Concepts clés
Voici quelques-uns des concepts clés liés aux performances dans Compose :
- Phases : comprendre les phases de composition, de mise en page et de dessin est essentiel pour optimiser la façon dont Compose met à jour votre UI.
- Profils de référence : ces profils précompilent le code essentiel, ce qui permet de lancer les applications plus rapidement et de fluidifier les interactions.
- Stabilité : augmentez la stabilité de votre application pour ignorer plus efficacement les recompositions inutiles et améliorer les performances.
Configurer correctement votre application
Si votre application n'est pas performante, cela peut indiquer un problème de configuration. Commencez par vérifier les options de configuration suivantes :
- Compiler en mode version avec R8 : essayez d'exécuter votre application en mode version. Le mode débogage est utile pour détecter de nombreux problèmes, mais il affecte les performances et peut compliquer la détection d'autres problèmes. Vous devez également activer l'optimisation et la minification avec le compilateur R8 pour garantir une version de publication performante et efficace.
- Utilisez des profils de référence : les profils de référence améliorent les performances en précompilant le code pour les critical user journeys. Compose inclut un profil par défaut, mais l'idéal est de créer également un profil spécifique à l'application. En savoir plus sur les profils de référence dans la documentation générale sur les performances Android
Outils
Familiarisez-vous avec la suite d'outils disponibles pour vous aider à mesurer et à analyser les performances de votre application Compose.
Bonnes pratiques
Lorsque vous développez votre application avec Compose, gardez à l'esprit les bonnes pratiques suivantes :
- Évitez les calculs coûteux : utilisez
rememberpour mettre en cache les résultats des calculs coûteux. - Aider les mises en page différées : fournissez des clés stables aux mises en page différées à l'aide du paramètre
keypour minimiser les recompositions inutiles. - Limiter les recompositions inutiles : utilisez
derivedStateOfpour limiter les recompositions lorsque l'état change rapidement. - Différer les lectures d'état : différer les lectures d'état le plus longtemps possible en les encapsulant dans des fonctions lambda.
- Utilisez des modificateurs lambda pour modifier l'état : utilisez des modificateurs basés sur lambda, comme
Modifier.offset { ... }, pour les variables d'état qui changent fréquemment. - Évitez les rétroécritures : n'écrivez jamais dans un état qui a déjà été lu dans un composable.
Pour en savoir plus, consultez le guide des bonnes pratiques.
Vues
Si vous utilisez des vues au lieu de Compose, consultez le guide dédié Améliorer les performances de la mise en page.
Autres ressources
- Guide sur les performances des applications : découvrez les bonnes pratiques, les bibliothèques et les outils permettant d'améliorer les performances sur Android.
- Inspecter les performances : inspectez les performances de l'application.
- Analyse comparative : comparez les performances de l'application.
- Démarrage de l'application : Optimisez le démarrage de l'application.
- Profils de référence : découvrez les profils de référence.