Microbenchmark 插桩参数

通过为插桩运行程序指定不同的参数,配置基准测试行为。这些选项既可以应用于 Gradle 配置,也可以在从命令行运行插桩时直接添加。

如需在从 Android Studio 运行基准测试时设置插桩参数,请执行以下操作:

  1. 点击 Edit 并选择要修改的配置,以便修改运行配置。
    图 1. 修改运行配置。
  2. 点击 Instrumentation arguments 字段旁边的 ,以便修改插桩参数。
    图 2. 修改插桩参数。
  3. 点击 并添加所需的插桩参数。
    图 3. 添加插桩参数。

additionalTestOutputDir

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

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

androidx.benchmark.dryRunMode.enable

此参数可允许您在单个循环中运行基准测试,以验证基准测试是否正常运行。在验证过程中,您可以将此参数与常规测试搭配使用。

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

androidx.benchmark.iterations

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

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

androidx.benchmark.junit4.SideEffectRunListener

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

如需在基准测试期间停用后台工作,请将 listener 插桩参数类型设置为 androidx.benchmark.junit4.SideEffectRunListener

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

androidx.benchmark.output.enable

允许将 JSON 结果文件写入外部存储空间

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

androidx.benchmark.profiling.mode

允许在运行基准测试时捕获跟踪文件。如需了解可用的选项,请参阅对 Microbenchmark 进行性能分析

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

androidx.benchmark.suppressErrors

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

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

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

在启动期间,重新配置循环行为来支持基准测试代码。在 10 次测量中,无需预热循环即可执行基准。为了最大限度地减少 Microbenchmark 测试的开销,会停用对循环取平均值的功能。

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