分析您的应用性能

如果应用响应缓慢、动画卡顿、冻结或功耗过高,则表示其性能不佳。解决性能问题需要对应用进行分析,即识别应用在 CPU、内存、图形或设备电池等资源方面效率低下的区域。本主题介绍了可用于解决常见性能问题的 Android Studio 工具和技术。

要了解如何在不运行整个 Android Studio IDE(仅限 Windows 或 Linux)的情况下运行独立分析器,请参阅运行独立分析器

要求

要分析您的应用,我们建议满足以下条件:

  • 已启用 profileable 清单配置的发布版 build 变体应用(也称为可分析应用)。默认情况下,应用会将此配置设为 true。如需检查或更改此配置,请打开应用的清单文件或 AndroidManifest.xml 文件,然后在 <application> 部分中查找 profileable 清单配置。

    <profileable android:shell="true" />
    
  • 运行 API 级别 29 或更高版本且已安装 Google Play 的虚拟或实体测试设备。

  • Android Gradle Plugin 7.3 或更高版本。

可分析应用与可调试应用

可分析应用可让您执行大多数常见的分析任务,但如果您需要记录 Java/Kotlin 分配或捕获堆转储,则应改用可调试应用。运行 API 级别 26 或更高版本的可调试应用进程和设备还允许您在提供它的任务视图中查看互动时间轴(显示用户互动和应用生命周期事件)。

可调试应用基于应用的 debug build 变体,可让您使用调试器等开发工具;但是,它会带来一些性能开销。可分析应用基于应用的 release build 变体,可在不产生调试 build 性能开销的情况下启用部分常见的分析任务。

构建并运行可分析的应用

要在 Android Studio 中构建并运行可分析应用,请按以下步骤操作:

  1. 如果您还没有,请创建运行/调试配置
  2. 选择您的发布 build 变体(Build > Select Build Variant)。
  3. 点击更多操作 > 使用低开销分析“应用” 使用完整数据分析“应用” (“应用”是运行配置的名称,因此可能因您而异)。要在这两个选项之间进行选择,请参阅要求。应用会在您的测试设备上打开,并且 Android Studio 中会打开分析器面板。

如果这些说明不适用于您,请参阅手动构建和运行可分析的应用

开始分析

要开始分析任务,请按以下步骤操作:

  1. 分析器面板的首页标签页中,从列表中选择一个进程。在大多数情况下,您会希望选择代表您应用的顶层进程。

    Profiler home tab
  2. 任务部分选择一个分析任务。如需详细了解这些任务,请参阅本部分中的其他页面。并非所有分析任务都适用于所有进程。如果您不知道从何开始,可以通过实时检查应用来获取性能活动的整体视图。

  3. 使用从以下位置开始分析器任务下拉菜单选择是从启动时开始分析器任务,还是在进程运行时附加到该进程。如果您尝试缩短应用启动时间或捕获应用启动期间发生的进程,则应包含启动;否则,您可以在应用的当前状态下开始分析。

  4. 点击开始分析器任务。任务会在其自己的标签页中开始。

  5. 与您的应用互动以触发活动。

  6. 停止录制(如果适用),等待其解析,然后查看结果。

比较、导出和导入跟踪

停止分析任务后,它会自动保存到分析器面板的历史记录标签页中。您可以使用这些保存的记录来比较不同场景下的资源使用情况。录制内容会保留在当前的 Android Studio 会话期间;如果您想保留更长时间,可以通过点击导出录制内容 来导出它们。并非所有跟踪类型都可以导出。

要导入跟踪(例如,从之前运行的 Android Studio 中导入),请在历史记录标签页中点击导入录制内容,然后选择您的跟踪文件。您也可以将文件拖到 Android Studio 编辑器窗口中来导入。

修改录制配置

要修改分析器任务录制配置,请点击分析器设置 。您可以切换两个主要设置:

  • 对于涉及采样的任务,采样间隔表示每个采样之间的时间。指定的间隔越短,就越快达到所记录数据的 F 文件大小限制。
  • 文件大小限制表示可写入所连接设备的数据量。停止录制时,Android Studio 会解析此数据并将其显示在分析器窗口中。如果您增加限制并记录大量数据,Android Studio 解析文件所需的时间会大大增加,并可能变得无响应。