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 API 接口 (Java):
软件包格式
Profiling 模块以 APEX 软件包 (com.google.android.profiling
) 的形式提供。该模块包含两个 JAR 文件:
framework-profiling.jar
:包含调用者与之交互的 API 接口。此接口是 bootclasspath 的一部分。service-profiling.jar
:包含新的系统服务ProfilingService
,该服务由系统服务器进程加载。
依赖项
此模块不包含任何外部依赖项。