选择合适的分析方法

您可以使用两种主要方法收集性能剖析文件:手动收集性能剖析文件和 ProfilingManager API。

我们建议您使用 ProfilingManager 来收集和分析来自许多用户的数据,或调试罕见问题。不过,对于更容易重现的问题,手动分析可能是更好的选择。

下表显示了这两种记录性能剖析文件的方法之间的区别:

ProfilingManager 手动收集性能剖析文件
性能剖析文件计时控制 更多 更少
性能剖析文件来源 本地设备和公开用户 仅限本地设备
性能剖析文件输出 已隐去 未隐去
基于事件的分析
性能剖析文件可定制性 更少 更多
可伸缩性

以下部分简要介绍了性能剖析文件记录方法之间的区别。

性能剖析文件计时控制

与手动分析相比,ProfilingManager API 可以更好地控制应用何时开始或停止性能剖析文件,而手动分析可能难以控制计时性能剖析文件的初始化。ProfilingManager 还可以更轻松地分析意外行为,因为即使您无法在本地重现该行为,也可以收集性能剖析文件。

性能剖析文件来源

借助 ProfilingManager,您可以从公开用户那里收集数据,以查找和修复性能问题。相比之下,手动分析仅允许您在自己的设备上重现问题。

性能剖析文件输出

ProfilingManager 和手动收集会生成不同类型的性能剖析文件输出:

  • ProfilingManager 会生成已隐去的轨迹。已隐去的轨迹会显示有关应用进程的信息,但会隐藏系统中其他应用的数据。由于 ProfilingManager 会先收集并隐去轨迹,然后再返回轨迹,因此您可以从公开用户那里收集轨迹,同时通过不显示其他应用的数据来保护他们的隐私。

  • 手动收集性能剖析文件会生成未隐去的轨迹。手动记录系统轨迹时,输出可能包含系统上运行的所有进程。虽然这些未隐去的跟踪记录提供了更完整的数据以进行调试,但出于隐私问题方面的考虑,您只能在本地访问它们。

基于事件的分析

当发生特定事件(例如“应用无响应 (ANR)”错误或应用启动)时,ProfilingManager 还可以收集性能剖析文件。ProfilingManager 将处理基于事件的收集的性能剖析文件的启动和停止。

性能剖析文件可定制性

手动分析提供最多的自定义选项,而 ProfilingManager 提供的自定义选项较少。

可伸缩性

ProfilingManager 是扩缩跟踪的最佳方式,因为它是唯一允许应用开发者记录公开用户性能剖析文件的选项。借助 ProfilingManager,您可以设置大规模的轨迹收集和分析。 手动分析仅限于本地使用。