性能分析

Profiling 模块是在 Android 16 中引入的,可让应用在实际公共设备上使用 Perfetto 收集性能分析数据。

  • 应用可以请求使用 Java 堆转储、堆分析、堆栈采样或系统跟踪来进行性能分析,并为每种方法设置特定的配置。
  • 此外,应用还可以订阅特定事件的跟踪信息,系统可以为这些应用启动和停止跟踪。
  • 收集到的结果会经过处理,仅包含与请求进程相关的信息,并在应用的存储目录中提供,以便应用进一步处理。
  • 请求受到速率限制,且不保证一定会得到满足。

模块边界

  • Profiling Mainline APEX - com.google.android.profiling:
    • Profiling API 接口 (Java):
      • 代码位置:packages/modules/Profiling/framework
      • 进程:boot_class_path
    • ProfilingService (Java):
      • 代码位置:packages/modules/Profiling/service
      • 进程:system_server

软件包格式

Profiling 模块以 APEX 软件包 (com.google.android.profiling) 的形式提供。该模块包含两个 JAR 文件:

  • framework-profiling.jar:包含调用者与之交互的 API 接口。此接口是 bootclasspath 的一部分。
  • service-profiling.jar:包含新的系统服务 ProfilingService,该服务由系统服务器进程加载。

依赖项

此模块不包含任何外部依赖项。