使用 Android Vitals 监控应用的技术性能

您可以使用 Play 管理中心查看相关数据,了解和改善应用的电池用量、稳定性和呈现时间。

以下数据是从用户选择了自动分享使用情况和诊断数据的设备收集而来,它们只代表部分 Android 设备和操作系统版本上的数据。如需详细了解 Android 用户选择分享数据的方式,请转到帐号帮助中心

全部收起 全部展开

数据类型

电池用量
  • 唤醒次数过多
  • 部分唤醒锁定被卡住
  • 部分唤醒锁定被卡住(后台)
  • 后台 WLAN 扫描次数过多
  • 后台网络使用量过高
稳定性
  • ANR 发生率
  • 多次 ANR 发生率
  • 崩溃率
  • 多次崩溃率
应用启动时间
  • 冷启动时间过长
  • 温启动时间过长
  • 热启动时间过长
呈现时间
  • 呈现速度缓慢的帧数过多
  • 冻结的帧数过多
权限
  • 权限遭拒

查找和查看应用数据

Android Vitals 页面上列出的日期范围包含您应用的所有可用数据,并且无法自定义。Android Vitals 数据的记录时间以太平洋时间 (PT) 为准。

重要提示:如果没有可显示的数据,则表示应用在特定过滤条件下没有足够的数据点,无法找出应用存在的问题。

如需查找和查看应用的 Android Vitals 数据,请按以下步骤操作:

  1. 打开 Play 管理中心
  2. 选择相应应用。
  3. 在左侧菜单中,依次选择质量 > Android Vitals > 概览
  4. 选择您希望通过何种方式查看应用的数据。
查看概览信息中心和详细的指标页面

Android Vitals 核心指标

概览页面的顶部会显示应用的 Android Vitals 核心指标数据,这些效果指标会影响您的应用在 Google Play 中的曝光度和排名。Android Vitals 核心指标包括:

  • ANR 发生率
  • 崩溃率
  • 部分唤醒锁定被卡住(后台)
  • 唤醒次数过多

如果您的应用存在任何需要关注的重大性能问题,包括指标超出不良行为阈值、性能数据发生显著变化(即异常情况),您可以使用该页面快速找出应用有待改进的部分。如果要让系统在检测到重大 ANR、崩溃集群或 Android Vitals 指标变化时向您发送电子邮件通知,请依次访问设置 > 偏好设置

重要提示:为了提供最佳用户体验,您应当找出并解决所有应用存在的问题,以免应用超过不良行为阈值。

浏览所有 Android Vitals 指标

概览页面中间附近,您可以按数据类型查看所有 Android Vitals 指标的数据。如需过滤表格中的数据,请选择您要查看的维度和时间段。

您可以针对每个指标,查看应用在当前时段和此前时段受影响的会话数所占的百分比。如需了解您的应用与 Google Play 上其他应用的性能对比情况,您还可以查看您应用与类似应用的数据在中位数方面的差值。

查看详细的指标

如需了解有关某项指标的其他详细信息,请选择查看详细信息。您可以在下一屏幕中查看以下信息:

  • 性能数据中发现的异常值
  • 不良行为阈值
  • 类别基准
  • 与基准的详细对比情况
    • 在页面顶部附近的类似应用对比情况卡片中,选择修改类似应用群组,修改自定义类似应用群组。创建自定义类似应用群组后,您可以查看自己的应用与所选的 Google Play 中的其他应用的对比情况。
  • 按工件、设备、Android 版本、基准或时间范围显示的指标
    • 选择表格中各行右侧的向下箭头即可展开相关详细信息。
按不良行为过滤

概览页面顶部,部分指标可能会标有红色错误图标 。这表示显示的数字偏高(与其他应用相比),即所谓的不良行为。

在带有该图标的卡片中选择查看详细信息,查看应用的哪些 APK 包含不良行为。

指标详细信息

唤醒锁定操作卡住与部分唤醒锁定被卡住(后台)

部分唤醒锁定被卡住部分唤醒锁定被卡住(后台)页面会显示通过应用的 PowerManager 类获取的部分唤醒锁定。部分唤醒锁定可确保 CPU 正常运行,但屏幕和键盘背光可以关闭。

数据收集详情

  • 为了保护隐私,部分唤醒锁定识别标记已进行匿名化处理。
  • 部分唤醒锁定的相关数据是系统在设备未充电且屏幕关闭时收集的。
  • 只有当应用在后台运行的时候,系统才会收集“部分唤醒锁定被卡住(后台)”的相关数据。
  • Google 会计算每次电池工作时段的最长部分唤醒锁定持续时间,以显示受到长时间唤醒锁定影响的工作时段数。例如,如果用户触发两次 1 小时长的唤醒锁定,那么 Google 将使用的最大唤醒锁定值为 1 小时。
  • 对于在清单文件中设置了 sharedUserId 的应用:只有当最多安装了一个具有相同 sharedUserId 的应用时,您才会看到相关数据。

Vitals 单项详细信息

  • 受影响的工作时段百分比:用户遇到至少 1 次长达 1 小时以上的唤醒锁定的电池工作时段数所占的百分比。
  • 工作时段数:系统已记录的工作时段的大概数量。
  • 第 90/99 个百分位:10%/1% 的活跃日中用户遇到部分唤醒锁定持续时间高于显示的数字。
  • 不良行为阈值:如果您的应用发生问题的比例等于或高于显示的阈值,系统会依据 Google Play 上前 1000 个热门应用的安装量,将此应用归在这项指标最低的 25% 中。

解决问题

如果您的应用经常出现部分唤醒锁定被卡住错误,请转到 Android 开发者网站,了解我们推荐的解决方案。

唤醒次数过多

唤醒次数过多页面会显示由应用触发的 Alarm Manager 唤醒次数。您会看到 ELAPSED_REALTIME_WAKEUPRTC_WAKEUP 类的唤醒数据。

数据收集详情

  • 为了保护隐私,唤醒识别标记已进行匿名化处理。
  • 唤醒次数是系统在设备未充电时收集的。
  • 为了提供标准化指标,系统会将唤醒次数与设备使用电池的时间进行比较。Google 会计算每个用户在每小时的唤醒次数,以显示受到高唤醒率影响的用户数。
  • 对于在清单文件中设置了 sharedUserId 的应用:只有当最多安装了一个具有相同 sharedUserId 的应用时,您才会看到相关数据。

Vitals 单项详细信息

  • 受影响的工作时段百分比:用户遇到每小时 10 次以上唤醒的电池工作时段所占的百分比。电池工作时段是在给定的 24 小时内接收到的所有电池报告的汇总。对于搭载 Android 10 的设备,电池报告是指两次电池充电(从低于 20% 充到 80% 以上或者从任意电量值充满到 100%)之间的时间间隔。对于搭载 Android 11 及更高版本的设备,电池报告是指固定的 24 小时时间段。Google 仅会在设备未充电时收集这项数据。
  • 工作时段数:系统已记录的工作时段的大概数量。
  • 第 90/99 个百分位:10%/1% 的活跃日中用户每小时遇到唤醒次数高于显示的值。
  • 不良行为阈值:如果您的应用发生问题的比例等于或高于显示的阈值,系统会依据 Google Play 上前 1000 个热门应用的安装量,将此应用归在这项指标最低的 25% 中。

解决问题

如果您的应用频繁唤醒,请转到 Android 开发者网站,了解我们推荐的解决方案。

WLAN 扫描次数过多(后台)

WLAN 扫描次数过多(后台)页面显示了 WLAN 扫描何时会导致电量消耗较高。

数据收集详情

WLAN 扫描的相关数据是系统在设备未充电以及应用在后台运行时收集的。

Vitals 单项详细信息

  • 受影响的工作时段百分比:用户遇到每小时 4 次以上 WLAN 扫描的电池工作时段所占的百分比。
  • 工作时段数:系统已记录的工作时段的大概数量。
  • 第 90/99 个百分位:10%/1% 的活跃日中用户每小时遇到的后台 WLAN 扫描次数高于显示的数字。
  • 不良行为阈值:如果您的应用发生问题的比例等于或高于显示的阈值,系统会依据 Google Play 上前 1000 个热门应用的安装量,将此应用归在这项指标最低的 25% 中。

解决问题

如果您的应用在后台进行 WLAN 扫描的次数较多,请转到 Android 开发者网站,了解我们推荐的解决方案。

网络使用量过高

网络使用量过高页面会显示何时有大量网络数据与后台服务相关联。当移动网络的使用发生在后台时,用户将难以控制和停止数据传输。

数据收集详情

移动网络使用量的相关数据是系统在设备未充电以及应用在后台运行时收集的。

Vitals 单项详细信息

  • 受影响的工作时段百分比:用户遇到每日后台网络使用量超过 50 MB 的电池工作时段所占的百分比。
  • 工作时段数:系统已记录的工作时段的大概数量。
  • 第 90/99 个百分位:10%/1% 的活跃日中用户每日的后台网络使用量高于显示的数字。
  • 不良行为阈值:如果您的应用发生问题的比例等于或高于显示的阈值,系统会依据 Google Play 上前 1000 个热门应用的安装量,将此应用归在这项指标最低的 25% 中。

解决问题

如果您的应用的后台网络使用量较高,请转到 Android 开发者网站,了解我们推荐的解决方案。

ANR 发生率和多次 ANR 发生率

了解应用的数据

ANR 发生率多次 ANR 发生率页面上,系统显示的数据与应用的 ANR 和崩溃次数页面上显示的数据类似。在 Android Vitals 页面上,系统会结合使用 ANR 数据和使用情况数据来创建标准化指标。

ANR 发生率的详细信息

  • 受影响的工作时段百分比:用户遇到至少一次 ANR 的活跃日所占的百分比。如果用户在一天内使用过您的应用,当天即计为一个活跃日。例如,如果有两位用户使用该应用两天,系统会记录四个活跃日。
  • 未发生 ANR 问题的工作时段百分比:用户未遇到任何 ANR 问题的活跃日所占的百分比。如果用户在一天内使用过您的应用,当天即计为一个活跃日。
  • 工作时段数:系统已记录的工作时段的大概数量。
  • 不良行为阈值:如果您的应用发生问题的比例等于或高于显示的阈值,系统会依据 Google Play 上前 1000 个热门应用的安装量,将此应用归在这项指标最低的 25% 中。

多次 ANR 发生率的详细信息

  • 受影响的工作时段百分比:用户遇到至少两次 ANR 问题的活跃日所占的百分比。如果用户在一天内使用过您的应用,当天即计为一个活跃日。例如,如果有两位用户使用该应用两天,系统会记录四个活跃日。
  • 未受影响的工作时段百分比:用户遇到一次或未遇到 ANR 问题的活跃日所占的百分比。如果用户在一天内使用过您的应用,当天即计为一个活跃日。
  • 工作时段数:系统已记录的工作时段的大概数量。

解决问题

如果您的应用经常出现 ANR 错误,请转到 Android 开发者网站,了解我们推荐的解决方案。

崩溃率和多次崩溃率

了解应用的数据

崩溃率多次崩溃率页面上,系统显示的数据与应用的 ANR 和崩溃次数页面上显示的数据类似。在 Android Vitals 页面上,系统会结合使用崩溃数据和使用情况数据来创建标准化指标。

崩溃率的详细信息

  • 受影响的工作时段百分比:用户遇到至少一次崩溃问题的活跃日所占的百分比。如果用户在一天内使用过您的应用,当天即计为一个活跃日。例如,如果有两位用户使用该应用两天,系统会记录四个活跃日。
  • 未发生崩溃问题的工作时段百分比:用户未遇到任何崩溃问题的活跃日所占的百分比。如果用户在一天内使用过您的应用,当天即计为一个活跃日。
  • 工作时段数:系统已记录的工作时段的大概数量。
  • 不良行为阈值:如果您的应用发生问题的比例等于或高于显示的阈值,系统会依据 Google Play 上前 1000 个热门应用的安装量,将此应用归在这项指标最低的 25% 中。

多次崩溃率详情

  • 受影响的工作时段百分比:用户遇到至少两次崩溃问题的活跃日所占的百分比。如果用户在一天内使用过您的应用,当天即计为一个活跃日。例如,如果有两位用户使用该应用两天,系统会记录四个活跃日。
  • 未受影响的工作时段百分比:用户遇到一次或未遇到崩溃问题的活跃日所占的百分比。如果用户在一天内使用过您的应用,当天即计为一个活跃日。
  • 工作时段数:系统已记录的工作时段的大概数量。

解决问题

如果您的应用经常发生崩溃,请转到 Android 开发者网站,了解我们推荐的解决方案。

呈现速度缓慢的帧数过多

了解应用的数据

呈现速度缓慢的帧数过多页面,您可以查看存在以下情况的活跃日所占百分比的详细信息:用户遇到呈现时间长于 16 毫秒的帧超过 50%。用户与应用的互动速度应该保持在每秒 60 帧,并且不会出现帧丢失或帧延迟的情况。

数据收集详情

Google 会在应用使用界面工具包框架(而非直接使用 OpenGL)呈现帧时收集各个帧的呈现时间。

信息中心显示内容

在您选择某行后,系统会显示细分为百分位的数据。

  • 受影响的工作时段百分比:以下活跃日所占的百分比:用户遇到超过 50% 的帧的呈现时间超过 16 毫秒。如果用户在一天内使用过您的应用,当天即计为一个活跃日。例如,如果有两位用户使用该应用两天,系统会记录四个活跃日。
  • 工作时段数:系统已记录的工作时段的大概数量。
  • 第 90/99 个百分位:所有帧中有 90%/99% 的帧呈现时间低于显示的数字。这些数字是根据系统收集的所有帧计算得出的。
  • 不良行为阈值:如果您的应用发生问题的比例等于或高于显示的阈值,系统会依据 Google Play 上前 1000 个热门应用的安装量,将此应用归在这项指标最低的 25% 中。

如果您点击表中的条目,将会看到“界面呈现时间分布图”图表。在查看该图表时,您需要确保应用的大多数帧的呈现时间都不超过 16 毫秒。

图表下方的数据展示了该应用的呈现效果,可能有助于您发现所有呈现时间问题的根本原因。例如,如果“输入延迟时间长”百分比较高,您可能需要查看处理用户输入的应用代码。如需详细了解这些指标,请参阅测试界面性能

  • 错过 Vsync 事件:对于所有呈现时间超过 16 毫秒的帧,以错过的 Vsync 事件数除以帧数。
  • 输入延迟时间长:对于所有呈现时间超过 16 毫秒的帧,以超过 24 毫秒的输入事件数除以帧数。
  • 界面线程速度缓慢:对于所有呈现时间超过 16 毫秒的帧,以界面线程执行时间超过 8 毫秒的次数除以帧数。
  • 绘图命令速度缓慢:对于所有呈现时间超过 16 毫秒的帧,以向 GPU 发送绘图命令的时间超过 12 毫秒的次数除以帧数。
  • 位图上传速度缓慢:对于所有呈现时间超过 16 毫秒的帧,以位图上传到 GPU 的时间超过 3.2 毫秒的次数除以帧数。

解决问题

如果您的应用有大量帧的呈现时间超过 16 毫秒,请转到 Android 开发者网站,了解我们推荐的解决方案。

冻结的帧数过多

冻结的帧数过多页面,您可以查看存在以下情况的活跃日所占百分比的详细信息:用户遇到呈现时间长于 700 毫秒的帧超过 0.1%。用户与应用的互动速度应该保持在每秒 60 帧,并且不会出现帧丢失或帧延迟的情况。

数据收集详情

Google 会在应用使用界面工具包框架(而非直接使用 OpenGL)呈现帧时收集各个帧的呈现时间。

信息中心显示内容

在您展开某个维度行后,系统会显示细分为百分位的数据。

  • 受影响的工作时段百分比:以下活跃日所占的百分比:用户遇到超过 0.1% 的帧的呈现时间超过 700 毫秒。如果用户在一天内使用过您的应用,该日即计为一个活跃日。例如,如果有两位用户使用该应用两天,系统会记录四个活跃日。
  • 工作时段数:系统已记录的工作时段的大概数量。
  • 第 90/99 个百分位:所有帧中有 90%/99% 的帧呈现时间低于显示的数字。这些数字是根据系统收集的所有帧计算得出的。
  • 不良行为阈值:如果您的应用发生问题的比例等于或高于显示的阈值,系统会依据 Google Play 上前 1000 个热门应用的安装量,将此应用归在这项指标最低的 25% 中。

如果您点击表中的条目,将会看到“界面呈现时间分布图”图表。在查看该图表时,您需要确保应用的大多数帧的呈现时间都不到 700 毫秒。

图表下方的数据展示了该应用的呈现效果,可能有助于您发现所有呈现时间问题的根本原因。例如,如果“输入延迟时间长”百分比较高,您可能需要查看处理用户输入的应用代码。如需详细了解这些指标,请参阅测试界面性能

  • 错过 Vsync 事件:对于所有呈现时间超过 16 毫秒的帧,以错过的 Vsync 事件数除以帧数。
  • 输入延迟时间长:对于所有呈现时间超过 16 毫秒的帧,以超过 24 毫秒的输入事件数除以帧数。
  • 界面线程速度缓慢:对于所有呈现时间超过 16 毫秒的帧,以界面线程执行时间超过 8 毫秒的次数除以帧数。
  • 绘图命令速度缓慢:对于所有呈现时间超过 16 毫秒的帧,以向 GPU 发送绘图命令的时间超过 12 毫秒的次数除以帧数。
  • 位图上传速度缓慢:对于所有呈现时间超过 16 毫秒的帧,以位图上传到 GPU 的时间超过 3.2 毫秒的次数除以帧数。

解决问题

如果您的应用有大量帧的呈现时间超过 700 毫秒,请转到 Android 开发者网站,了解我们推荐的解决方案。

应用启动时间

如果您的应用从这三种系统状态下启动较慢,则您在应用启动时间页面上可以看到相关详细信息。

数据收集详情

  • 系统只会在用户触发活动时记录启动时间。
    • 示例:键盘应用的启动时间等于配套应用的启动时间。
  • 如果应用在同一天内多次从同一系统状态下启动,则系统会记录当天最长的启动时间。
  • 当应用的第一帧完全加载,系统就会跟踪应用的启动时间,即使用户并未与该屏幕互动,也不例外。
    • 示例:如果应用开启时会显示启动画面,则启动时间就等于显示启动画面所需的时间。

Vitals 单项详细信息

  • 受影响的工作时段百分比:用户在各个系统状态下遇到启动时间过长问题的工作时段所占的百分比:
    • 冷启动时间过长:5 秒或更长
    • 温启动时间过长:2 秒或更长
    • 热启动时间过长:1 秒或更长
  • 工作时段数:系统已记录的工作时段的大概数量。
  • 第 90/99 个百分位:10%/1% 的活跃日中,用户在您的应用中遇到启动时间过长的问题。
  • 不良行为阈值:如果您的应用发生问题的比例等于或高于显示的阈值,系统会依据 Google Play 上前 1000 个热门应用的安装量,将此应用归在这项指标最低的 25% 中。

解决问题

如果您的应用经常出现启动时间过长的问题,请转到 Android 开发者网站,了解我们推荐的解决方案。

权限遭拒

权限遭拒页面会针对用户拒绝权限的情况,提供权限申请日所占百分比的详细信息。如果您的应用在一天内向用户请求过至少一项权限,该日即计为一个权限申请日。

数据收集详情

系统会在用户针对应用内的权限请求做出回应时,收集权限遭拒的数据。

Vitals 单项详细信息

  • 遭拒:用户拒绝了权限的权限申请日所占的百分比。
  • 不再询问:用户通过选择“不再询问”选项拒绝了权限的权限申请日所占的百分比。
  • 工作时段总数:系统已记录的工作时段的大概数量。
  • 不良行为阈值:如果您的应用发生问题的比例等于或高于显示的阈值,系统会依据 Google Play 上前 1000 个热门应用的安装量,将此应用归在这项指标最低的 25% 中。

解决问题

如果您的应用经常遇到权限遭拒的情况,请转到 Android 开发者网站,了解我们推荐的解决方案。

使用维度分析数据

应用的所有数据都会按以下维度进行细分,以便您整理、细分和分析数据。

  • 工件:您的应用的版本
  • Android 版本 (SDK):通过用户设备报告的 Android 操作系统版本
  • 设备型号:用户设备的宣传名称和设备名称(例如 Google Nexus 7/Flo)
  • 唤醒锁定名称:在应用中使用 PowerManager API 时以编程方式设置的标记
  • 唤醒名称:在应用中使用 AlarmManager API 时,以编程方式设置的标记
  • ANR 活动名称:发生 ANR 的活动类别的完全限定名称(如有)
  • ANR 类型:发生 ANR 的时间,例如,在执行服务时(如有)

相关内容

了解利用 Android Vitals 改善应用的性能和稳定性的最佳做法。

该内容对您有帮助吗?
您有什么改进建议?

需要更多帮助?

登录可获取更多支持选项,以便快速解决您的问题