您可以使用以下插桩参数配置库的行为。这些参数既可以添加到 Gradle 配置中,也可以在从命令行运行插桩时直接应用。如果是使用 Gradle,请将参数添加到 testInstrumentationRunnerArguments
:
android {
defaultConfig {
// ...
testInstrumentationRunnerArguments["androidx.benchmark.enabledRules"] = "BaselineProfile"
}
}
如果是直接从命令行调用,请使用 -P android.testInstrumentationRunnerArguments.[name of the argument]
。
./gradlew :benchmark:connectedAndroidTest -P android.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=BaselineProfile
androidx.benchmark.compilation.enabled
允许在基准测试的每次迭代之间停用编译。默认情况下,系统会在每次基准测试之间重新安装和重新编译目标应用,以遵循传入 measurementRepeated 的 CompilationMode。停用此参数后,您可以跳过重新安装和编译过程(例如,如果您想要在运行测试套件之前完全编译目标应用,并针对该完全编译的目标运行所有基准测试)。
- 参数类型:布尔值
- 默认为:
true
androidx.benchmark.dryRunMode.enable
允许在单个循环中运行基准,以验证它们是否正常运行。这可以作为验证的一部分与常规测试一起使用。
- 参数类型:布尔值
- 默认为:
false
androidx.benchmark.enabledRules
允许仅过滤一种类型的测试 - 基准配置文件生成或 Macrobenchmark 测试。您也可以使用逗号分隔列表。
- 参数类型:字符串
- 可用选项:
Macrobenchmark
BaselineProfile
- 默认为:未指定
androidx.benchmark.fullTracing.enable(实验性)
启用 androidx.tracing.perfetto
跟踪点,例如 Jetpack Compose 组合跟踪。请注意,这只会影响不使用 StartupMode.COLD
的时机,因为启用跟踪点会唤醒目标进程。
- 参数类型:布尔值
- 默认为:
false
androidx.benchmark.suppressErrors
接受将转换为警告的错误列表(以逗号分隔)。
- 参数类型:字符串列表
- 可用选项:
DEBUGGABLE
LOW-BATTERY
EMULATOR
NOT-PROFILEABLE
- 默认为:一个空列表
additionalTestOutputDir
配置在设备上保存 JSON 基准测试报告和性能分析结果的位置。
- 参数类型:文件路径字符串
- 默认为:测试 APK 的外部目录