Google 致力于为黑人社区推动种族平等。查看具体举措

利用 Android Profiler 测量应用性能

Android Studio 3.0 及更高版本中的 Android Profiler 取代了 Android Monitor 工具。Android Profiler 工具可提供实时数据,帮助您了解应用的 CPU、内存、网络和电池资源使用情况。

如需详细了解各个性能剖析器,请参阅以下内容:

Android Profiler 与 Android 5.0(API 级别 21)及更高版本兼容。

有关 Android Profiler 的介绍,请观看以下视频。

如需打开 Profiler 窗口,请依次选择 View > Tool Windows > Profiler,或点击工具栏中的 Profile 图标 。如果 Select Deployment Target 对话框提示,请选择要在哪个设备上剖析应用的性能。如果您通过 USB 连接了某个设备但系统未列出该设备,请确保您已启用 USB 调试。如果您使用的是 Android 模拟器或已取得 root 权限的设备,Android Profiler 将列出所有正在运行的进程,即使这些进程可能无法调试也会列出。当您启动可调试的应用时,默认情况下会选择该进程。

Android Profiler 会持续收集性能剖析数据,直到您断开设备连接或点击 End Session

图 1. Android Profiler 共享时间轴视图

1 Android Profiler 显示当前正在剖析的进程和设备。

2Sessions 窗格中,选择要查看的会话,或启动一个新的剖析会话。

3 使用缩放按钮控制要查看的时间轴范围,或使用 Attach to live 按钮跳转到实时更新。

4 事件时间轴显示与用户输入相关的事件,包括键盘活动、音量控制变化和屏幕旋转。

5 共享时间轴视图,包括 CPU、内存、网络和耗电量图表。

此共享时间轴视图只显示时间轴图表。如需使用详细性能剖析工具,请点击与您要检查的性能数据对应的图表。例如,如需使用相关工具检查堆数据和跟踪内存分配,请点击 Memory 图表。

并非所有性能剖析数据在默认情况下都可见。如果您看到一条消息,显示“Advanced profiling is unavailable for the selected process”,您可以在运行配置中启用高级性能剖析以查看其他数据。

会话

您可以将性能剖析器数据另存为会话,这些会话将一直保留,直到您退出 Android Studio。通过在多个会话中记录性能剖析信息并在它们之间进行切换,您可以比较各种场景中的资源使用情况。

  • 如需启动一个新的会话,请点击 Start a new profiling session 按钮,然后从出现的下拉菜单中选择一个应用进程。

    在您记录跟踪数据捕获堆转储时,Android Studio 会将相应数据(以及您应用的网络活动)作为单独的条目添加到当前会话。

  • 如需停止向当前会话添加数据,请点击 Stop the current profiling session 图标

  • 如需导入之前运行 Android Studio 时导出的跟踪记录,请点击 Start new profiler session 图标 ,然后选择 Load from file

启用高级性能剖析

如需在运行搭载 Android 7.1 或更低版本的设备时向您显示高级性能剖析数据,Android Studio 必须将监控逻辑注入您编译的应用。高级性能剖析提供的功能包括:

  • 所有性能剖析器窗口中的事件时间轴
  • Memory Profiler 中已分配对象的数量
  • Memory Profiler 中的垃圾回收事件
  • 网络性能剖析器中有关所有已传输文件的详细信息

如需启用高级性能剖析,请按以下步骤操作:

  1. 依次选择 Run > Edit Configurations
  2. 在左侧窗格中选择您的应用模块。
  3. 点击 Profiling 标签页,然后选中 Enable advanced profiling for older devices
  4. 再次构建并运行您的应用。

高级性能剖析配置会使构建流程变慢,所以只有在您想要开始剖析应用的性能时,才应启用该配置。

运行独立性能剖析器

借助独立 Android Studio 性能剖析器,您可以剖析应用的性能,而无需运行完整的 Android Studio IDE。

如需运行独立性能剖析器,请执行以下操作:

  1. 确保性能剖析器当前未在 Android Studio 中运行。
  2. 转到安装目录,然后转到 bin 目录:

    Windows/Linux<studio-installation-folder>/bin

    macOS<studio-installation-folder>/Contents/bin

  3. 根据您的操作系统,运行 profiler.exeprofiler.sh。系统随即会显示 Android Studio 启动画面。

    启动画面消失后,系统会打开性能剖析器窗口:

  4. 启动 Android 模拟器或连接一个 Android 设备,然后等待主屏幕加载。如需从命令行运行模拟器,请参阅从命令行启动模拟器。 如果从 Android Studio 启动模拟器,请务必在模拟器启动后关闭 Android Studio。

    在独立性能剖析器的菜单中,点击 按钮,系统应该会显示所有连接的设备和模拟器:

    例如,在模拟器中打开 Google 地图。通过从下拉列表中选择一个模拟器创建新的性能剖析会话,然后选择 com.google.android.apps.maps (...)。这会启动一个性能剖析会话。

当您与地图互动时,性能剖析器中会显示触摸事件和 CPU 使用率。点击“CPU”、“Memory”、“Network”或“Energy”图可查看更多详情。

点击 按钮可结束性能剖析会话。