自 2025 年 3 月 27 日起,我们建议您使用 android-latest-release
而非 aosp-main
构建 AOSP 并为其做出贡献。如需了解详情,请参阅 AOSP 的变更。
性能分析
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
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
,该服务由系统服务器进程加载。
依赖项
此模块不包含任何外部依赖项。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-27。
[null,null,["最后更新时间 (UTC):2025-07-27。"],[],[],null,["# Profiling\n\nThe Profiling module was introduced in Android 16 and lets apps collect\nprofiling data using Perfetto on public devices in the field.\n\n- Apps can request profiling using Java heap dump, heap profile, stack sampling, or system trace, and set select configurations for each.\n- Apps can register interest in receiving traces of certain events and the system can start and stop the trace for the apps.\n- Results are redacted to contain information relating to the requesting process only and delivered to the app's storage directory for further processing by the app.\n- Requests are rate limited and not guaranteed to be filled.\n\nModule boundary\n---------------\n\n- Profiling Mainline APEX - `com.google.android.profiling`:\n - Profiling API surface (Java):\n - Code location: `packages/modules/Profiling/framework`\n - Process: `boot_class_path`\n - `ProfilingService` (Java):\n - Code location: `packages/modules/Profiling/service`\n - Process: `system_server`\n\nPackage format\n--------------\n\nThe Profiling module ships as an APEX package (`com.google.android.profiling`).\nThe module contains two JAR files:\n\n- `framework-profiling.jar`: Contains the API surface that a caller interacts with. This is a part of the bootclasspath.\n- `service-profiling.jar`: Contains a new system service, `ProfilingService`. Loaded by the system server process.\n\nDependencies\n------------\n\nThis module has no external dependencies."]]