
C’est avec une semaine riche en révélations que Ben Weiss, Senior Developer Relations Engineer, et Sara Hamilton, Product Manager, ont clôturé leur « Performance Spotlight Week ». Leur mission ? Vous équiper d’un arsenal de bonnes pratiques et de conseils pour propulser vos applications Android vers de nouveaux sommets de rapidité, de compacité et de stabilité. Préparez-vous à une immersion dans les outils qui feront la différence, avec un effort minimal pour un impact maximal !
Au cours de cette semaine dédiée à la performance, les équipes ont plongé au cœur des mécanismes d’optimisation, de la puissance de l’optimiseur R8 aux Optimisations Guidées par Profil, en passant par les améliorations apportées à Jetpack Compose. Cet article se veut votre boussole, un index indispensable pour naviguer dans ce flot d’informations et révisiter les ressources clés chaque fois que l’optimisation s’imposera. Voici les cinq enseignements majeurs de cette quête de performance.
L’optimiseur R8 : Le turbo de votre application
La modification la plus percutante et la moins coûteuse en efforts que vous puissiez opérer est l’activation complète de l’optimiseur R8. Loin de se contenter de réduire la taille de votre application, R8 exécute des optimisations profondes à l’échelle du programme, réécrivant fondamentalement votre code pour une efficacité redoutable. C’est le moment de réviser vos règles Keep et de réintégrer R8 au cœur de vos tâches d’ingénierie.
Notre documentation sur l’optimiseur R8, fraîchement mise à jour et enrichie, est là pour vous guider. Les chiffres parlent d’eux-mêmes : Reddit a constaté un démarrage à froid 40% plus rapide et une réduction de 30% des erreurs ANR (Application Not Responding) après avoir activé le mode complet de R8. Une véritable cure de jouvence pour l’expérience utilisateur !
Les ingénieurs de Disney+, toujours à l’affût de la performance, ont eux aussi fait une découverte capitale. En inspectant leur configuration R8, ils ont repéré un flag un peu trop zélé : -dontoptimize. Une fois ce verrou levé, les optimisations de R8 ont pu s’exprimer pleinement, entraînant des améliorations significatives de la performance de leur application. Preuve qu’il suffit parfois d’un détail pour tout changer.
Pour en savoir plus, consultez notre blog du Jour 1 : « Utilisez R8 pour réduire, optimiser et accélérer votre application ».
Des profils de référence à Jetpack Compose : Une performance guidée
Les profils de référence (Baseline Profiles) représentent une avancée majeure. Ils éliminent le besoin de compilation Just-in-Time, ce qui se traduit par une vitesse de démarrage accrue, un défilement ultra-fluide, des animations impeccables et des performances de rendu globales améliorées. Pour aller plus loin, les profils de démarrage (Startup Profiles) allègent encore le lancement de votre app en organisant intelligemment les fichiers classes.dex.
Le géant Meta lui-même a partagé son expérience, révélant comment les profils de référence ont permis d’améliorer diverses métriques de performance cruciales de jusqu’à 40% sur leurs applications. Un témoignage éloquent de l’efficacité de ces outils.
Du côté de l’UI, Jetpack Compose 1.10 continue de monter en puissance. Des fonctionnalités comme la composition « pausable » et la fenêtre de cache personnalisable sont essentielles pour garantir un défilement sans saccades (« zero scroll jank ») même avec des listes complexes. Pour une explication détaillée, ne manquez pas le dernier épisode de #TheAndroidShow.
Approfondissez le sujet avec notre blog de mercredi : « Considérations plus poussées sur la performance ».
Mesurer la performance : Un jeu d’enfant en 1, 2, 3 étapes
On ne gère pas ce qu’on ne mesure pas, c’est une règle d’or dans le monde du développement. Notre Guide de Niveau de Performance décompose votre parcours de mesure en cinq étapes, allant des données facilement accessibles aux outils locaux les plus sophistiqués.
Au niveau 1, nous vous apprendrons à exploiter les données déjà disponibles via Android Vitals, qui vous fournit des informations précieuses sur les ANR, les plantages et la consommation excessive de batterie directement sur le terrain.
Et nous ne nous arrêterons pas là ! Nous vous montrerons comment atteindre le niveau 3 grâce à des tests de performance locaux, en utilisant Jetpack Macrobenchmark et la nouvelle API UiAutomator 2.4. Ces outils vous permettent de mesurer et de vérifier avec précision chaque changement de performance dans votre application, comme un véritable laboratoire embarqué.
Retrouvez toutes les informations dans notre blog de jeudi : « Guide de niveau pour la performance de votre application ».
Le débogage de la performance : La mise à niveau tant attendue
L’optimisation avancée ne devrait pas rimer avec des rapports de crash illisibles. De nouvelles fonctionnalités ont été conçues pour vous permettre de déboguer R8 et le travail en arrière-plan avec une confiance inébranlable.
Retrace automatique du Logcat
Avec Android Studio Narwhal, les traces de pile peuvent être automatiquement « désobfusquées » dans la fenêtre Logcat. Vous pouvez ainsi visualiser et déboguer instantanément les plantages, même sur une build prête pour la production. Fini le casse-tête des logs cryptiques !
Règles Keep plus fines
Mardi, nous avons démystifié les règles Keep essentielles pour corriger les plantages à l’exécution, en insistant sur l’importance de rédiger des règles spécifiques, au niveau des membres, plutôt que d’utiliser des jokers trop larges. Et parce que c’est un sujet crucial, une vidéo dédiée a été mise à votre disposition. Avec le nouveau contrôle Lint pour les règles Keep larges, Android Studio Otter 3 Feature Drop vous couvre également sur ce front.
Nous avons également publié de nouveaux guides sur le test et le dépannage de votre configuration R8 pour vous aider à la maîtriser en toute confiance.
Plus de détails dans notre blog de mardi : « Configurer et dépanner les règles R8 Keep ».
Le travail en arrière-plan
Nous avons partagé des conseils pratiques pour le débogage des scénarios courants que vous pourriez rencontrer lors de la planification de tâches avec WorkManager.
L’Inspecteur de Tâches en Arrière-plan (Background Task Inspector) vous offre une représentation visuelle et un graphique des tâches WorkManager, ce qui facilite le débogage des retards ou des échecs des tâches planifiées. De plus, notre page de destination rafraîchie sur le travail en arrière-plan met en évidence les API spécifiques aux tâches, optimisées pour des cas d’utilisation particuliers, vous aidant à obtenir une exécution plus fiable.
Plus d’informations dans notre blog de mercredi : « Considérations sur la performance du travail en arrière-plan ».
L’optimisation des performances : Une odyssée continue
Si vous avez relevé le défi d’activer le mode complet de R8 cette semaine, votre prochaine étape consiste à intégrer la performance dans votre feuille de route produit grâce à l’App Performance Score. Ce cadre standardisé est une véritable boussole pour identifier les actions les plus efficaces et garantir une amélioration continue de vos applications.
La semaine s’est clôturée en beauté avec la session de questions-réponses en direct #AskAndroid Live, où nos ingénieurs ont répondu à vos questions les plus ardues sur R8, les optimisations guidées par profil, et bien plus encore. Si vous l’avez manquée, gardez l’œil ouvert pour le replay !
Un grand merci d’avoir participé à cette semaine intense. À présent, à vous de jouer ! Poursuivez sur cette lancée et continuez à bâtir des applications Android toujours plus performantes.
Mots-clés : Android, performance, optimisation, R8, Jetpack Compose, débogage, développeur, Baseline Profiles, WorkManager
Source : Article original
