Les performances sur Wear OS constituent un élément essentiel à prendre en compte pour votre application, car de nombreux appareils Wear OS disposent de ressources de processeur et de GPU limitées par rapport aux appareils mobiles plus grands. Avec l'introduction d'animations plus riches et d'effets dynamiques dans Material 3 Expressive, vous devez valider et améliorer les performances des workflows clés de votre application.
Utilisez le guide sur les performances de Jetpack Compose pour configurer et développer votre application afin d'obtenir des performances optimales à l'aide de Jetpack Compose. Ce document met en évidence certaines des techniques décrites dans ce guide.
Créez et suivez des stratégies de mesure des performances pour vérifier que ces techniques fonctionnent comme prévu pour votre application.
Techniques essentielles d'amélioration des performances
Commencez par les types d'outils de performances les plus efficaces : les profils de référence (y compris les profils de démarrage) et l'optimiseur de code R8.
Mettez à jour votre dépendance Compose vers la version 1.8 ou une version ultérieure, qui a introduit plusieurs nouvelles fonctionnalités importantes et amélioré la stabilité globale de la bibliothèque. Pour savoir comment effectuer la mise à jour , consultez les instructions de la section Déclarer des dépendances. Pour en savoir plus, consultez notre article de blog sur la version 1.8 et la présentation Nouveautés de Compose I/O.
Profils de référence
Pour améliorer les performances de votre application, utilisez des profils de référence. Regroupez les classes et les méthodes qui représentent les workflows clés de votre application, que le système peut précompiler à l'aide d'un profil de référence. Cela peut réduire les temps de démarrage et les frames saccadés, et améliorer les performances.
Chaque bibliothèque Jetpack Compose possède ses propres règles de profil. Lorsque votre application dépend d'une bibliothèque, les règles de profil de celle-ci sont automatiquement fusionnées et distribuées avec l'APK de votre application pour la précompilation.
Vérifiez vos profils de référence à l'aide des techniques suivantes :
- Utilisez des tests macrobenchmark.
- Utilisez des commandes ADB spécifiques pour valider l'état de configuration du profil de votre application. Les étapes de ces deux techniques sont expliquées dans le guide sur la mesure et la validation des performances.
Profils de démarrage
En tant que sous-ensemble des profils de référence, les profils de démarrage optimisent davantage les classes et les méthodes qu'ils contiennent pour réduire la latence de démarrage de l'application.
L'ajout d'un profil de démarrage augmente la taille de l'APK de votre application. Par conséquent, avant d'en ajouter un à votre version de production, veillez à évaluer le compromis entre la taille de l'APK et la latence de démarrage.
Pour commencer, consultez Créer un profil de démarrage.
R8
Utilisez le compilateur R8 pour réduire et optimiser les applications. R8 supprime le code et les ressources inutilisés, réécrit le code pour optimiser les performances d'exécution, et plus encore.
Dans les guides de présentation Améliorer les performances, consultez les considérations concernant R8, y compris les étapes clés pour supprimer les ressources inutilisées.
Mesure et validation des performances
Pour en savoir plus sur les stratégies générales de mesure des performances sur Android, consultez Présentation de la mesure des performances des applications. Cette section décrit certaines des techniques abordées dans cette documentation.
Choisir une variante de compilation pour les mesures
Bien que le mode débogage soit utile pour détecter de nombreux problèmes, il affecte considérablement les performances, n'utilise pas de profils de référence et peut compliquer la détection des problèmes de code susceptibles d'affecter les performances.
Pour mieux comprendre les performances de votre application, exécutez-la en mode publication.
Ne tirez des conclusions définitives sur les performances qu'à partir de tests effectués avec des applications exécutées avec des options de compilation de publication et sur des appareils réels.
Toutefois, lors des tests d'évaluation, utilisez la variante de compilation d'évaluation, qui présente quelques différences clés par rapport au débogage de publication. Pour en savoir plus, consultez le guide de configuration de Macrobenchmark.
Valider les profils de référence de votre application
Commencez par inspecter l'état de votre profil :
adb shell dumpsys package dexopt | grep -A 1 $PACKAGE_NAME
Si l'état n'est pas status=speed-profile, les règles de profil n'ont pas encore été appliquées pour optimiser l'application.
Les règles sont appliquées à l'aide d'une tâche en arrière-plan qui s'exécute lorsque l'appareil est en charge et inactif. Pour déclencher manuellement cette opération, exécutez la commande suivante après le lancement de l'application et après avoir attendu suffisamment de temps pour que le programme d'installation de profil puisse amorcer le profil en arrière-plan. Ce processus prend généralement environ 40 secondes.
adb shell cmd package bg-dexopt-job
Ensuite, réexécutez la commande précédente pour vérifier que l'état est speed-profile.
Pour les cas où l'optimisation est effectuée lors de l'installation, consultez Télécharger de manière indépendante le profil de référence.
API UI Automator
L'API UI Automator automatise les interactions par programmation. Utilisez cette API pour évaluer des éléments d'interface utilisateur discrets lorsque vous inspectez les parcours utilisateur pour identifier les optimisations potentielles.
Tests macrobenchmark
Les macrobenchmarks testent des cas d'utilisation plus importants de votre application, en particulier le démarrage de l'application et les manipulations complexes de l'interface utilisateur. Pour commencer, consultez le guide d'implémentation.
Pour obtenir un exemple d'utilisation de macrobenchmarks afin de valider les performances des profils de référence, consultez les exemples de performances sur GitHub.
Bibliothèque JankStats
Utilisez la bibliothèque JankStats pour suivre et analyser les problèmes de performances des applications.
Pour obtenir un exemple, consultez l'exemple JankStats sur GitHub.
Trace système
Avec les nouveaux types d'animation introduits par Material 3 Expressive, utilisez la fonctionnalité Trace système d'Android Studio pour inspecter et diagnostiquer la latence dans les parcours utilisateur potentiellement problématiques. Grâce à ces informations, vérifiez le contenu de vos profils de référence et identifiez les inefficacités potentielles dans la logique de votre code.
Outils complémentaires
En plus des outils d'amélioration des performances, vous pouvez utiliser d'autres outils pour améliorer votre productivité et votre workflow.
Outils de productivité d'Android Studio
Android Studio fournit plusieurs outils qui peuvent réduire le temps que vous consacrez à l'identification des améliorations des performances.
Par exemple, à l'aide d'outils tels que Modification en temps réel et Aperçus composables, vous pouvez identifier les éléments d'interface utilisateur saccadés, ainsi que les zones associées dans le code de votre application, pour améliorer les performances.
Exécutez tous les tests de performances finaux sur une suite d'appareils Wear OS physiques qui représente précisément votre base d'utilisateurs cibles.
Cela est particulièrement important lorsque vous migrez vers Material 3 Expressive, qui introduit des fonctionnalités telles que les polices flexibles et la morphose des formes dans votre application.
Si vous migrez à partir de vues, consultez notre guide de migration et nos bonnes pratiques pour les performances de Jetpack Compose afin de vérifier que les interfaces utilisateur de votre application sont performantes lorsque vous utilisez Jetpack Compose.
Autres ressources
Pour vous tenir informé des dernières nouveautés concernant les performances Android, consultez les dernières actualités et vidéos du guide sur les performances des applications.