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 principaux workflows de votre application.
Utilisez le guide Performances de Jetpack Compose pour configurer et développer votre application afin d'obtenir des performances optimales avec Jetpack Compose. Ce document met en avant 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 pour améliorer les 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 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 blog sur la version 1.8 et la conférence Nouveautés de Compose lors de l'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 principaux workflows 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, les frames saccadés et améliorer les performances.
Chaque bibliothèque Jetpack Compose est fournie avec 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.
Validez 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 Mesure et 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 augmentera la taille de l'APK de votre application. Par conséquent, avant d'en ajouter un à votre version de production, assurez-vous d'évaluer le compromis entre la taille de l'APK et la latence de démarrage.
Pour commencer, consultez Créer un profil de start-up.
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, etc.
Dans les guides Améliorer les performances : présentation, lisez les considérations pour 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
Le mode débogage est utile pour détecter de nombreux problèmes, mais 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 de conclusions définitives sur les performances qu'à partir des tests effectués avec des applications exécutées avec des options de compilation de version et sur de vrais appareils.
Toutefois, lors des tests d'analyse comparative, utilisez la variante de compilation d'analyse comparative, qui présente quelques différences clés par rapport au débogage de version. Pour en savoir plus, consultez le guide de configuration de Macrobenchmark.
Valider les profils de référence de votre application
Commencez par vérifier 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 d'arrière-plan qui s'exécute lorsque l'appareil est chargé et inactif. Pour déclencher ceci manuellement, exécutez la commande suivante une fois l'application lancée et après avoir attendu suffisamment de temps pour que le programme d'installation de profil puisse amorcer le profil en arrière-plan. Cette opération dure 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 de manière programmatique. Utilisez cette API pour comparer des éléments d'UI distincts lorsque vous inspectez les parcours utilisateur afin d'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 d'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 dans les 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 dans 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 éventuelles inefficacités 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é Android Studio
Android Studio fournit plusieurs outils qui peuvent réduire le temps que vous passez à identifier les améliorations de performances.
Par exemple, à l'aide d'outils tels que Live Edit et Composable Previews, vous pouvez identifier les éléments d'UI 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ésentent précisément votre base d'utilisateurs cible.
C'est particulièrement important lorsque vous migrez vers Material 3 Expressive, qui introduit des fonctionnalités telles que les polices flexibles et la morphose de forme dans votre application.
Si vous migrez depuis des vues, consultez notre guide de migration et nos bonnes pratiques pour les performances de Jetpack Compose afin de vérifier que les UI 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.