Macrobenchmark 插桩参数

您可以使用以下插桩参数配置库的行为。这些参数既可以添加到 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

允许在基准测试的每次迭代之间停用编译。默认情况下,系统会在每次基准测试之间重新安装和重新编译目标应用,以遵循传入 measurementRepeatedCompilationMode。停用此参数后,您可以跳过重新安装和编译过程(例如,如果您想要在运行测试套件之前完全编译目标应用,并针对该完全编译的目标运行所有基准测试)。

  • 参数类型:布尔值
  • 默认为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 的外部目录