您可以使用两种主要方法来收集性能分析文件:手动收集性能分析文件和使用 ProfilingManager
API。
- 手动收集性能剖析文件是指在本地设备上手动运行 Perfetto 来记录性能剖析文件。您可以使用命令(如使用 Perfetto 记录系统轨迹中所述)或使用“快捷设置”功能块(如使用“快捷设置”功能块录制中所述)来执行此操作。
ProfilingManager
可让应用在生产环境中收集配置文件。
我们建议使用 ProfilingManager
来收集和分析来自许多用户的数据,或用于调试罕见的问题。不过,对于更容易重现的问题,手动分析可能是一个更好的选择。
下表显示了这两种记录个人资料的方法之间的区别:
ProfilingManager | 手动收集个人资料 | |
---|---|---|
个人资料时间控制 | 更多 | 收起 |
个人资料来源 | 本地设备和公开用户 | 仅限本地设备 |
个人资料输出 | 已隐去 | 未隐去 |
基于事件的分析 | 是 | 否 |
个人资料可自定义程度 | 收起 | 更多 |
可伸缩性 | 高 | 低 |
以下部分简要介绍了各种配置文件记录方法之间的区别。
个人资料时间控制
与手动分析相比,ProfilingManager
API 可以更好地控制应用何时开始或停止分析,而手动分析可能难以确定时间分析的初始化时间。ProfilingManager
还可以更轻松地分析意外行为,因为即使您无法在本地重现该行为,也可以收集配置文件。
个人资料来源
借助 ProfilingManager
,您可以从公开用户那里收集数据,以查找和修复性能问题。相比之下,手动分析仅允许您在自己的设备上重现问题。
个人资料输出
ProfilingManager
和手动收集会生成不同类型的性能剖析输出:
ProfilingManager
生成经过编辑的轨迹。经过删减的轨迹会显示有关应用进程的信息,但会隐藏系统上其他应用的数据。由于ProfilingManager
会在返回轨迹之前收集并编辑轨迹,因此您可以从公开用户处收集轨迹,同时通过不显示其他应用的数据来保护他们的隐私。手动收集的配置文件会生成未经过编辑的轨迹。手动记录系统轨迹时,输出可能包含系统上运行的所有进程。虽然这些未经过编辑的轨迹可提供更完整的数据以供调试,但出于隐私方面的考虑,您只能在本地访问它们。
基于事件的分析
ProfilingManager
还可以在发生特定事件(例如“应用无响应”(ANR) 错误或应用启动)时收集配置文件。ProfilingManager
将处理基于事件的收集的配置文件启动和停止。
个人资料可自定义程度
手动分析可提供最丰富的自定义选项,而 ProfilingManager
提供的自定义选项较少。
可伸缩性
ProfilingManager
是扩展跟踪的最佳方式,因为它是唯一允许应用开发者记录公开用户配置的选项。借助 ProfilingManager
,您可以设置大规模的轨迹收集和分析。
手动分析仅限本地使用。