Événements et programmes

Optimisation totale : conclusion de la semaine Performance Spotlight

Temps de lecture : 3 min

La semaine dernière, nous avons partagé des bonnes pratiques et des conseils pour rendre les applications Android plus rapides, plus légères et plus stables. Des fonctionnalités de base de l'optimiseur R8 et des optimisations guidées par profil aux améliorations des performances avec Jetpack Compose, en passant par un nouveau guide pour améliorer les performances de votre application, nous avons abordé les outils à faible effort et à fort impact dont vous avez besoin pour créer une application performante.

Cet article vous servira d'index et de feuille de route pour consulter ces ressources chaque fois que vous aurez besoin d'optimiser vos campagnes. Voici les cinq points clés à retenir de notre parcours ensemble.

Utiliser l'optimiseur R8 pour accélérer votre application

La modification la plus efficace et la plus simple que vous puissiez apporter consiste à activer complètement l'optimiseur R8. Il ne se contente pas de réduire la taille de l'application : il effectue des optimisations approfondies de l'ensemble du programme pour réécrire fondamentalement votre code afin d'en améliorer l'efficacité. Revenez sur vos règles Keep et réintégrez R8 à vos tâches d'ingénierie.

Notre documentation mise à jour et enrichie sur l'optimiseur R8 est là pour vous aider.

Reddit a constaté un démarrage à froid 40 % plus rapide et 30 % d'erreurs ANR en moins après avoir activé le mode complet de R8.

Vous pouvez lire l'étude de cas complète sur notre blog.

image.png

Les ingénieurs de Disney+ investissent dans les performances de l'application et optimisent l'expérience utilisateur. Parfois, même des changements apparemment mineurs peuvent avoir un impact considérable. En inspectant sa configuration R8, l'équipe a constaté que l'option -dontoptimize était utilisée. Après avoir activé les optimisations en supprimant ce flag, l'équipe Disney+ a constaté une amélioration significative des performances de son application.

image.png

La prochaine fois que quelqu'un vous demandera comment améliorer les performances d'une application, vous n'aurez qu'à lui envoyer un lien vers cet article.

Pour en savoir plus, consultez notre article de blog du jour 1 : Utiliser R8 pour réduire, optimiser et accélérer votre application

Des conseils pour améliorer vos performances

Les profils de référence éliminent efficacement le besoin de compilation juste-à-temps, ce qui améliore la vitesse de démarrage, le défilement, l'animation et les performances de rendu globales. Les profils de démarrage rendent le démarrage de l'application encore plus léger en organisant intelligemment les fichiers classes.dex de votre application.

Pour en savoir plus sur l'importance des profils de référence pour les performances des applications, consultez le blog d'ingénierie de Meta. Meta y explique comment les profils de référence ont amélioré de jusqu'à 40 % différentes métriques de performances critiques dans ses applications.

Nous continuons d'améliorer les performances de Jetpack Compose dans Jetpack Compose 1.10. Des fonctionnalités telles que la composition pouvant être mise en pause et la fenêtre de cache personnalisable sont essentielles pour éviter les saccades lors du défilement d'éléments de liste complexes.Regardez le dernier épisode de #TheAndroidShow, dans lequel nous expliquons cela plus en détail.

Pour en savoir plus, consultez notre article de blog du mercredi : Deeper Performance Considerations (en anglais).

Mesurer les performances est un jeu d'enfant

Vous ne pouvez pas gérer ce que vous ne pouvez pas mesurer. Notre guide d'amélioration des performances décompose votre parcours de mesure en cinq étapes, en commençant par les données facilement disponibles et en allant jusqu'aux outils locaux avancés.

En commençant au niveau 1, nous vous apprendrons à utiliser les données facilement disponibles d'Android Vitals, qui vous fournit des données de terrain sur les ANR, les plantages et l'utilisation excessive de la batterie.

Nous vous expliquerons également comment passer au niveau supérieur. Par exemple, nous allons vous montrer comment atteindre le niveau 3 avec des tests de performances locaux en utilisant Jetpack Macrobenchmark et la nouvelle API UiAutomator 2.4 pour mesurer et vérifier avec précision tout changement des performances de votre application.

Pour en savoir plus, consultez notre article de blog du jeudi : [Link to Thursday's Blog: Leveling Guide for your Performance Journey]

Le débogage des performances s'améliore

L'optimisation avancée ne doit pas rendre les rapports d'erreur illisibles. De nouvelles fonctionnalités ont été conçues pour vous aider à déboguer R8 et les tâches en arrière-plan en toute confiance :

Retrace automatique de Logcat

À partir d'Android Studio Narwhal, les traces de la pile peuvent être automatiquement désobscurcies dans la fenêtre Logcat. Vous pouvez ainsi voir et déboguer immédiatement les plantages dans un build prêt pour la production.

Règles de conservation étroites

Mardi, nous avons démystifié les règles Keep nécessaires pour corriger les plantages d'exécution, en mettant l'accent sur l'écriture de règles spécifiques au niveau des membres plutôt que sur des caractères génériques trop larges. Comme il s'agit d'un sujet important, nous avons également créé une vidéo pour vous.

Et grâce à la nouvelle vérification lint pour les règles Keep étendues, la mise à jour groupée Android Studio Otter 3 vous couvre également sur ce point.

image.png

Nous avons également publié de nouvelles consignes pour tester et résoudre les problèmes liés à votre configuration R8 afin de vous aider à la configurer correctement en toute confiance.

Pour en savoir plus, consultez notre article de blog du mardi : Configurer et résoudre les problèmes liés aux règles de conservation R8

Tâches en arrière-plan

Nous avons partagé des conseils sur le débogage des scénarios courants que vous pouvez rencontrer lors de la planification de tâches avec WorkManager.

Background Task Inspector vous fournit une représentation visuelle et une vue graphique des tâches WorkManager, ce qui vous aide à déboguer les raisons pour lesquelles une tâche planifiée est retardée ou échoue. De plus, la page de destination de notre documentation actualisée sur les tâches en arrière-plan met en avant des API spécifiques optimisées pour des cas d'utilisation particuliers, ce qui vous aide à obtenir une exécution plus fiable.
 

Pour en savoir plus, consultez notre article de blog du mercredi : Considérations sur les performances des tâches en arrière-plan

L'optimisation des performances est un processus continu

Si vous avez réussi à activer le mode complet de R8 cette semaine, l'étape suivante consiste à intégrer les performances à votre feuille de route produit à l'aide du score de performances de l'application. Ce framework standardisé vous aide à identifier les actions les plus efficaces pour une amélioration continue.

Nous avons terminé la semaine avec la session de questions/réponses #AskAndroid Live, au cours de laquelle des ingénieurs ont répondu à vos questions les plus complexes sur R8, les optimisations guidées par profil et bien plus encore. Si vous l'avez manqué, regardez le replay !

Merci de votre participation ! Maintenant, lancez-vous et continuez sur votre lancée.

Écrit par :
Continuer la lecture