微基准测试工具参数

通过向 instrumentation runner 指定不同的参数来配置基准测试的行为。这些参数可以应用于您的 Gradle 配置,也可以在从命令行运行 instrumentation 时直接添加。

要在从 Android Studio 运行基准测试时设置 instrumentation 参数,请执行以下操作

  1. 点击**编辑**并选择要编辑的配置来编辑运行配置。
    **图 1。**编辑运行配置。
  2. 点击**Instrumentation 参数**字段旁边的 来编辑 instrumentation 参数。
    **图 2。**编辑 instrumentation 参数。
  3. 点击 并添加所需的 instrumentation 参数。
    **图 3。**添加 instrumentation 参数。

additionalTestOutputDir

配置在设备上保存 JSON 基准测试报告和分析结果的位置。

  • 参数类型:文件路径字符串
  • 默认为:测试 APK 的外部目录

androidx.benchmark.dryRunMode.enable

允许您以单循环模式运行基准测试,以验证其是否正常工作。

这意味着

  • 配置错误 不强制执行(例如,为了更容易在模拟器上运行常规正确性测试)
  • 基准测试只运行单循环,没有预热
  • 不捕获测量结果和跟踪,以减少运行时间

这针对测试吞吐量和验证基准测试逻辑(而非构建和测量正确性)进行了优化。

  • 参数类型:布尔值
  • 默认为:false

androidx.benchmark.iterations

覆盖时间驱动的目标迭代次数,以帮助确保一致的工作量。这通常仅在启用分析时才有用,以帮助确保在比较不同实现或运行时,在分析跟踪中执行一致数量的工作。在其他情况下,这可能会降低测量的准确性或稳定性。

  • 参数类型:整数
  • 默认为:未指定

androidx.benchmark.junit4.SideEffectRunListener

如果在基准测试运行期间执行了无关的后台工作,您可能会得到不一致的基准测试结果。

要在基准测试期间禁用后台工作,请将listener instrumentation 参数类型设置为androidx.benchmark.junit4.SideEffectRunListener

  • 参数类型:字符串
  • 可用选项
    • androidx.benchmark.junit4.SideEffectRunListener
  • 默认为:未指定

androidx.benchmark.output.enable

启用将结果 JSON 文件写入外部存储。

  • 参数类型:布尔值
  • 默认值:true

androidx.benchmark.profiling.mode

允许在运行基准测试时捕获跟踪文件。有关可用选项,请参阅分析微基准测试

  • 参数类型:字符串
  • 可用选项
    • MethodTracing
    • StackSampling
    • None
  • 默认值:None

androidx.benchmark.suppressErrors

接受逗号分隔的错误列表,将其转换为警告。

  • 参数类型:字符串列表
  • 可用选项
    • DEBUGGABLE
    • LOW-BATTERY
    • EMULATOR
    • CODE-COVERAGE
    • UNLOCKED
    • SIMPLEPERF
    • ACTIVITY-MISSING
  • 默认值:空列表

androidx.benchmark.startupMode.enable (已弃用)

重新配置循环行为以支持在启动期间对代码进行基准测试。基准测试在没有预热循环的情况下执行 10 次测量。为了最大限度地减少微基准测试中的开销,禁用循环平均。

  • 参数类型:布尔值
  • 默认为:false