Configurez le comportement de vos benchmarks en précisant différents arguments pour l'exécuteur d'instrumentation. Ceux-ci peuvent être appliqués à votre configuration Gradle ou ajoutés directement lors de l'exécution d'une instrumentation à partir de la ligne de commande.
Pour configurer des arguments d'instrumentation lors de l'exécution des benchmarks à partir d'Android Studio, procédez comme suit :
- Modifiez la configuration d'exécution en cliquant sur Edit (Modifier), puis en sélectionnant la configuration à modifier.
- Modifiez les arguments d'instrumentation en cliquant sur à côté du champ Instrumentation arguments (Arguments d'instrumentation).
- Cliquez sur et ajoutez l'argument d'instrumentation requis.
additionalTestOutputDir
Configure l'emplacement sur l'appareil où sont enregistrés les rapports d'analyse comparative JSON et les résultats de profilage.
- Type d'argument : chaîne du chemin d'accès au fichier
- Valeur par défaut : tester le répertoire externe de l'APK
androidx.benchmark.dryRunMode.enable
Vous permet d'exécuter des benchmarks dans une seule boucle afin de vérifier qu'elles fonctionnent correctement. Vous pouvez l'utiliser avec des tests réguliers lors de la vérification.
- Type d'argument : booléen
- Valeur par défaut :
false
androidx.benchmark.iterations
Ignore le nombre d'itérations cibles basées sur le temps pour garantir un volume de travail cohérent. En général, cette approche n'est utile que lorsque le profilage est activé, pour vous assurer que la quantité de travail est effectuée de manière cohérente dans une trace de profilage lorsque vous comparez différentes intégrations ou exécutions. Dans d'autres scénarios, cela réduit probablement la précision ou la stabilité des mesures.
- Type d'argument : entier
- Valeur par défaut : non spécifié
androidx.benchmark.junit4.SideEffectRunListener
Vous pouvez obtenir des résultats de benchmark incohérents si des tâches non liées en arrière-plan sont exécutées en même temps que le benchmark.
Pour désactiver les tâches en arrière-plan lors du benchmark, définissez le type d'argument d'instrumentation listener
sur androidx.benchmark.junit4.SideEffectRunListener
.
- Type d'argument : chaîne
- Options disponibles :
androidx.benchmark.junit4.SideEffectRunListener
- Valeur par défaut : non spécifié
androidx.benchmark.output.enable
Permet d'écrire le fichier JSON de résultats dans un espace de stockage externe.
- Type d'argument : booléen
- Valeur par défaut :
true
androidx.benchmark.profiling.mode
Permet de capturer des fichiers de suivi lors de l'exécution des benchmarks. Consultez la page Profiler un microbenchmark pour connaître les options disponibles.
- Type d'argument : chaîne
- Options disponibles :
MethodTracing
StackSampling
None
- Valeur par défaut :
None
androidx.benchmark.suppressErrors
Accepte une liste d'erreurs séparées par une virgule qui deviennent des avertissements.
- Type d'argument : liste de chaînes
- Options disponibles :
DEBUGGABLE
LOW-BATTERY
EMULATOR
CODE-COVERAGE
UNLOCKED
SIMPLEPERF
ACTIVITY-MISSING
- Valeur par défaut : liste vide
androidx.benchmark.startupMode.enable (obsolète)
Permet de reconfigurer le comportement de la boucle pour assurer l'analyse comparative du code au démarrage. Les benchmarks sont exécutés sans boucle de préchauffage pour 10 mesures. Pour minimiser les frais généraux dans les microbenchmarks, la moyenne de la boucle est désactivée.
- Type d'argument : booléen
- Valeur par défaut :
false
Recommandations personnalisées
- Remarque : Le texte du lien s'affiche lorsque JavaScript est désactivé.
- Arguments d'instrumentation Macrobenchmark
- Profiler un microbenchmark
- Créer des profils de référence {:#creating-profile-rules}