Android Studio 3.0 及更高版本中的 Android Profiler 取代了 Android Monitor 工具。Android Profiler 工具可提供实时数据,帮助您了解应用的 CPU、内存、网络和电池资源使用情况。
如需详细了解各个分析器,请参阅以下内容:
- 使用 CPU Profiler 检查 CPU Activity 和函数跟踪
- 使用 Memory Profiler 查看 Java 堆和内存分配
- 利用 Network Profiler 检查网络流量
- 使用 Energy Profiler 检查耗电量
Android Profiler 与 Android 5.0(API 级别 21)及更高版本兼容。
有关 Android Profiler 的介绍,请观看以下视频。
要打开 Profiler 窗口,请依次选择 View > Tool Windows > Profiler,或点击工具栏中的 Profile 图标 。如果 Select Deployment Target 对话框提示,请选择要在哪个设备上分析您的应用。如果您通过 USB 连接了设备但系统未列出该设备,请确保您已启用 USB 调试。如果您使用的是 Android Emulator 或已取得 root 权限的设备,Android Profiler 将列出所有正在运行的进程,即使这些进程可能无法调试也会列出。当您启动可调试的应用时,默认情况下会选择该进程。
Android Profiler 会持续收集分析数据,直到您断开设备连接或点击 End Session。
图 1. Android Profiler 共享时间轴视图
1 Android Profiler 显示当前正在分析的进程和设备。
2 在 Sessions 窗格中,选择要查看的会话,或启动一个新的分析会话。
3 使用缩放按钮控制要查看时间轴范围,或使用 Attach to live 按钮跳转到实时更新。
4 事件时间轴显示与用户输入相关的事件,包括键盘 Activity、音量控制更改和屏幕旋转。
5 共享时间轴视图,包括 CPU、内存、网络和耗电量图表。
此共享时间轴视图只显示时间轴图表。要使用详细分析工具,请点击与您要检查的性能数据对应的图表。例如,要使用相关工具检查堆数据和跟踪内存分配,请点击 Memory 图表。
并非所有分析数据在默认情况下都可见。如果您看到一条消息,显示“Advanced profiling is unavailable for the selected process”,您可以在运行配置中启用高级分析以查看其他数据。
会话
您可以将分析器数据另存为会话,这些会话将一直保留,直到您退出 Android Studio。通过在多个会话中记录分析信息并在它们之间进行切换,您可以比较各种场景中的资源使用情况。
要启动一个新的会话,请点击 Start a new profiling session 按钮
,然后从出现的下拉菜单中选择一个应用进程。
在您记录函数数据或捕获堆转储后,Android Studio 会将相应数据(以及您应用的网络 Activity)作为单独的条目添加到当前会话。
要停止向当前会话添加数据,请点击 Stop the current profiling session 图标
。
要导入之前运行 Android Studio 时导出的跟踪记录,请点击 Start new profiler session 图标
,然后选择 Load from file。
启用高级分析
要在运行搭载 Android 7.1 或更低版本的设备时向您显示高级分析数据,Android Studio 必须将监控逻辑注入您编译的应用。高级分析提供的功能包括:
- 所有分析器窗口中的事件时间轴
- Memory Profiler 中已分配对象的数量
- Memory Profiler 中的垃圾回收事件
- Network Profiler 中有关所有已传输文件的详细信息
要启用高级分析功能,请按以下步骤操作:
- 依次选择 Run > Edit Configurations。
- 在左侧窗格中选择您的应用模块。
- 点击 Profiling 标签,然后勾选 Enable advanced profiling。
- 重新编译并运行您的应用。
高级分析配置会使编译过程变慢,所以仅在您想要开始分析您的应用时,才应启用该配置。