如果应用响应速度慢、动画播放不流畅、卡顿或耗电量过高,就表示应用的性能不佳。若要解决性能问题,就需要对应用进行性能分析,或找出应用的哪些方面导致不能高效地利用资源(例如 CPU、内存、图形、网络或设备电池)。本主题将介绍可用于实现以下目的的 Android Studio 工具和技术: 解决常见的性能问题
了解如何在不运行整个 Android 的情况下运行独立性能分析器 Studio IDE(仅限 Windows 或 Linux),请参阅 运行独立性能分析器。
要求
如需分析您的应用,我们建议您进行以下设置:
具有发布 build 变体且具有
profileable
清单的应用 也称为可分析应用。默认情况下,应用具有 请将此配置设为 true。如需检查或更改此配置,请打开应用的清单或AndroidManifest.xml
文件,然后在<application>
部分中查找profileable
清单配置:<profileable android:shell="true" />
搭载 API 级别 29 或更高级别且具有 Google Play。
Android Gradle 插件 7.3 或更高版本。
可分析应用和可调试应用
借助可分析应用,您可以执行最常见的性能分析任务,但应使用 可调试应用(如果您需要录制 Java/Kotlin 内容) 或捕获堆转储一个可调试的应用进程和设备运行 API 级别 26 或更高级别还可让您查看 Interaction 时间轴, 在提供用户互动和应用生命周期事件的任务视图中显示事件。
可调试的应用基于应用的 debug
build 变体,可让您
使用调试程序等开发工具;然而,当出现
但会降低一些性能可分析应用基于 release
build
变体,并启用一部分常见的分析任务,而无需
调试 build 的性能开销。
构建并运行可分析应用
如需在 Android Studio 中构建并运行可分析应用,请按以下步骤操作:
- 创建运行/调试配置(如果您有 还没有一个。
- 选择您的发布 build 变体 (Build > Select Build Variant)。
- 点击更多操作 >个人资料“应用”费用低 或配置文件“app”包含完整数据 (“app”是运行配置的名称,因此它可能不同于 您)。如需在这两个选项之间进行选择,请参阅要求。 应用会在测试设备上打开,并且 Profiler 窗格会在 Android 中打开 Studio。
如果这些说明对您不适用,请参阅构建和运行可分析应用 手动设置。
开始分析
如需开始分析任务,请按以下步骤操作:
从性能分析器窗格中的首页标签页列表中选择一个进程。在大多数情况下,您需要选择 。
从 Tasks 部分中选择一项分析任务。如需详细了解 请参阅本节其他页面。并非所有性能分析任务 可用于所有进程如果您不知道从何处入手,不妨 效果活动视图 实时测试应用
使用 Start profiler task from 下拉菜单选择是否启动 性能分析器任务,或者在进程运行时附加到进程。如果您 或尝试缩短应用启动时间 应用启动期间,您应将启动项包括在内;否则,您可以 分析应用的当前状态。
点击启动性能分析器任务。任务会在自己的标签页中开始。
与您的应用交互,以便触发 activity。
停止记录(如果适用),等待其解析,然后查看 结果。
比较、导出和导入跟踪记录
当您停止性能分析任务时,系统会自动将其保存在性能分析器窗格中的过往记录标签页中。您可以使用这些已保存的 来比较不同场景中的资源使用情况。录音为 在当前 Android Studio 会话期间保存;如果你想 将这些视频保留更长时间,点击导出录制内容即可将其导出 。 并非所有轨迹类型都可以导出。
如需导入轨迹(例如从之前运行的 Android Studio 中导入),请点击 导入录制内容 (在过往记录标签页中),然后选择您的跟踪文件。您还可以导入 将文件拖动到 Android Studio 编辑器窗口中。
修改录制配置
如需修改性能分析器任务记录配置,请点击性能分析器设置 。您可以切换主要的两项设置:
- 对于涉及采样的任务,采样间隔表示 。指定的时间间隔越短,达到记录数据的文件大小限制就越快。
- File size limit 表示可以写入连接设备的数据量。当您停止记录时,Android Studio 会解析此数据 并将其显示在性能分析器窗口中如果您提高此限制并录制了 因此 Android Studio 需要更长的时间来解析文件,并且 可能无响应