记录 Java/Kotlin 方法

记录应用代码执行期间调用的 Java/Kotlin 方法,可以让您查看特定时间点的调用堆栈和 CPU 使用情况,并按 Java/Kotlin 方法进行筛选。此数据可用于识别执行时间过长或占用大量系统资源的代码段。如果您希望查看包含本机调用帧的完整调用堆栈,请使用调用堆栈采样分析任务。

使用 Android Studio 分析器记录 Java/Kotlin 方法时,可以选择记录类型

  • 跟踪:在运行时对您的应用进行检测,以在每次方法调用开始和结束时记录时间戳。收集时间戳并进行比较以生成方法跟踪数据,包括时间信息。如果您关心调用的确切方法,则应使用跟踪。由于跟踪是一个密集型过程,因此如果您使用此选项,最好将记录时间控制在 5 秒或更短。

  • 采样(旧版):在应用的基于 Java 或 Kotlin 的代码执行期间,以频繁的间隔捕获应用的调用栈。分析器会比较捕获的数据集,以获取有关应用的基于 Java 或 Kotlin 的代码执行的时间和资源使用情况信息。如果您更关心时间而不是调用的确切方法,则应使用采样。

Java/Kotlin 方法概述

在您运行查找 CPU 热点任务后,Android Studio Profiler 会提供以下信息

  • CPU 使用率:按时间显示应用的 CPU 使用率,作为总可用 CPU 容量的百分比。请注意,CPU 使用率不仅包括 Java/Kotlin 方法,还包括原生代码。突出显示时间线上的某个部分以过滤该时间段的详细信息。
  • 交互:沿时间线显示用户交互和应用生命周期事件。
  • 线程:显示应用在其上运行的线程。在大多数情况下,您首先需要关注代表应用的最顶层线程。

要识别耗时最长的方法或调用栈,请使用火焰图自顶向下图表。