Microbenchmark 插桩参数

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

如要在 Android Studio 中运行基准时设置插桩参数,请执行以下操作:

  1. 修改运行配置
  2. 修改插桩参数
  3. 添加所需的插桩参数

additionalTestOutputDir

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

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

androidx.benchmark.dryRunMode.enable

允许在单个循环中运行基准,以验证它们是否正常运行。这可以作为验证的一部分与常规测试一起使用。

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

androidx.benchmark.iterations

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

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

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 次测量中,无需预热循环即可执行基准。为了最大限度地减少 Microbenchmark 测试的开销,会停用对循环取平均值的功能。

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