1. Avant de commencer
Dans cet atelier de programmation, vous découvrirez comment utiliser la bibliothèque macrobenchmark. Vous évaluerez le temps de démarrage de l'application, qui est une métrique clé en termes d'engagement utilisateur, et le temps de rendu, qui indique à quel niveau des à-coups peuvent se produire dans l'application.
Prérequis
- Android Studio
- Connaissance de Kotlin
- Principes de base des tests sur Android
- Un appareil Android physique avec Android 6 (niveau d'API 23) ou version ultérieure
Objectifs de l'atelier
- Ajouter un module d'analyse comparative à une application existante
- Mesurer le temps de démarrage et le temps de rendu de l'application
Points abordés
- Mesurer les performances de l'application de manière fiable
2. Configuration
Pour commencer, clonez le dépôt GitHub à partir de la ligne de commande à l'aide de la commande suivante :
$ git clone https://github.com/android/codelab-android-performance.git
Vous pouvez également télécharger deux fichiers ZIP :
Ouvrir le projet dans Android Studio
- Dans la fenêtre "Welcome to Android Studio" (Bienvenue dans Android Studio), sélectionnez
Open an existing Project (Ouvrir un projet existant). - Sélectionnez le dossier
[Download Location]/android-performance/benchmarking(remarque : assurez-vous de sélectionner le répertoirebenchmarkingcontenantbuild.gradle.) - Une fois qu'Android Studio a importé le projet, assurez-vous de pouvoir exécuter le module
apppour créer l'exemple d'application qui fera l'objet de l'analyse comparative.
3. Présentation de Jetpack Macrobenchmark
La bibliothèque Jetpack<Macrobenchmark mesure les performances des interactions essentielles de l'utilisateur final, comme le démarrage, les interactions avec l'interface utilisateur et les animations. Elle vous permet de contrôler directement l'environnement de performances que vous testez. Grâce à elle, vous pouvez contrôler la compilation, le démarrage et l'arrêt de votre application afin de mesurer directement le démarrage de l'application, les temps de rendu et les sections du code tracé.
Jetpack Macrobenchmark vous permet d'effectuer les opérations suivantes :
- Mesurer l'application plusieurs fois avec des modèles de lancement et des vitesses de défilement déterministes
- Atténuer les écarts de performances en calculant la moyenne des résultats sur plusieurs cycles de test
- Contrôler l'état de compilation de votre application, un facteur important pour la stabilité des performances
- Vérifier les performances réelles avec la reproduction locale des optimisations à l'installation effectuées par le Google Play Store
Les instrumentations qui utilisent cette bibliothèque n'appellent pas directement le code de votre application. À la place, elles naviguent dans l'application comme le ferait un utilisateur, en appuyant sur des options, en effectuant des clics, en balayant l'écran, etc. La mesure s'effectue sur l'appareil au cours de ces interactions. Si vous souhaitez évaluer directement certaines parties du code de l'application, reportez-vous plutôt à Jetpack Microbenchmark.
L'élaboration d'une analyse comparative est semblable à l'écriture d'un test d'instrumentation, sauf que vous n'avez pas besoin de vérifier l'état de l'application. Ces analyses utilisent la syntaxe JUnit (@RunWith, @Rule, @Test, etc.), mais les tests sont exécutés dans un processus distinct pour permettre le redémarrage ou la compilation préalable de l'application. Cette approche nous permet d'exécuter votre application sans interférer avec ses états internes, comme le ferait un utilisateur. Nous utilisons UiAutomator pour interagir avec l'application cible.
Application exemple
Dans cet atelier de programmation, vous allez utiliser JetSnack à titre d'exemple. Il s'agit d'une application de commande de collations virtuelle qui utilise Jetpack Compose. Pour mesurer les performances d'une application, vous n'avez pas besoin de connaître son architecture. Vous devez comprendre le comportement de l'application et la structure de l'interface utilisateur afin de pouvoir accéder aux éléments de l'interface à partir des analyses comparatives. Exécutez l'appli et familiarisez-vous avec les écrans de base en