perfetto命令行下抓取trace使用指南
2023-09-22 09:26:51
利用 Perfetto 在 Android 上抓取和分析 Trace 的终极指南
简介
性能优化是移动应用程序开发中的关键因素。通过对设备上的应用程序执行进行深入分析,我们可以识别性能瓶颈并采取针对性的措施来提高应用程序的响应性和流畅性。Perfetto 是一个强大的工具,它允许我们从 Android 设备收集详细的跟踪信息,帮助我们了解应用程序的运行情况。
准备工作
在开始之前,请确保满足以下条件:
- 已安装 Perfetto 工具。
- 已启用 Android 设备的 USB 调试模式。
- 已安装 Android 模拟器。
步骤 1:启动 Android 模拟器
打开 Android Studio 并启动 Android 模拟器。确保模拟器已连接到您的计算机。
步骤 2:设置 Traced 权限
打开一个 CMD 窗口并输入以下命令:
adb shell dumpsys activity service com.android.traced start
您应该会看到一条消息,提示 Traced 服务已成功启用。
步骤 3:抓取 Trace
再次打开一个 CMD 窗口并输入以下命令:
adb shell dumpsys gfxinfo com.android.traced --record-mode=all,frames --traces-file=/sdcard/trace.pb
其中,-t 10s 表示抓取 10 秒的 trace。您可以根据需要调整抓取时间。
步骤 4:验证是否打开 Traced 权限
在您的计算机上,打开一个 CMD 窗口并输入以下命令:
adb shell dumpsys activity service com.android.traced status
您应该会看到一条消息,提示 Traced 服务正在运行。
步骤 5:使用 Perfetto 命令行抓取 Trace
将模拟器中的 trace 文件复制到您的计算机上。
打开一个 CMD 窗口并导航到 Perfetto 工具的安装目录。
输入以下命令:
perfetto-cli trace --input-file=trace.pb --output-file=trace.json
Perfetto 将开始分析 trace 文件,并生成一个 trace.json 文件。
步骤 6:分析 Trace 文件
使用 Perfetto UI 工具打开 trace.json 文件。
您可以在 Perfetto UI 工具中查看 trace 文件中的各种数据,包括帧率、CPU 利用率、内存使用情况等。
您还可以使用 Perfetto UI 工具来分析 trace 文件中的事件,并查找性能瓶颈。
结论
通过本教程,您已经掌握了如何使用 Perfetto 工具从 Android 设备抓取 trace,并深入了解了设备的运行状况。此技能可帮助您发现性能瓶颈,并采取有针对性的措施来优化您的应用程序。
常见问题解答
-
为什么需要抓取 trace?
Trace 捕获了应用程序执行期间设备上的详细事件,为我们提供了分析应用程序性能的宝贵数据。
-
如何调整抓取的 trace 时长?
在抓取 trace 的命令中使用
-t
标志指定抓取时间,例如-t 10s
表示抓取 10 秒。 -
如何确保 Traced 服务已启用?
您可以使用
adb shell dumpsys activity service com.android.traced status
命令来验证 Traced 服务是否正在运行。 -
在哪里可以找到生成的 trace 文件?
trace 文件将保存在您指定的路径中,例如
/sdcard/trace.pb
。 -
如何深入分析 trace 文件中的事件?
您可以使用 Perfetto UI 工具来查看 trace 文件中的事件,并通过放大、过滤和标记来分析特定的事件。