每当未处理的异常或信号导致意外退出时,Android 应用就会崩溃。使用 Java 或 Kotlin 编写的应用会在抛出未处理的异常(由 Throwable 类表示)时崩溃。如果在使用机器码或 C++ 语言编写的应用的执行过程中存在未处理的信号(如 SIGSEGV),该应用会崩溃。
Android Vitals 指标和阈值
Android Vitals 可帮助您监控和降低应用的崩溃率。Android Vitals 会衡量多种崩溃率:
- 崩溃率:在日活跃用户中,遇到任何类型崩溃的用户所占的百分比。
用户感知的崩溃率:在日活跃用户中,在主动使用应用期间遇到过至少 1 次崩溃(用户感知的崩溃)的用户所占的百分比。如果应用显示任何 activity 或执行任何前台服务,即被视为处于活跃使用状态。
多次崩溃率:遇到过至少两次崩溃的日活跃用户数所占的百分比。
日活跃用户是指一天内在单一设备上(可能在多次会话中)使用您的应用的唯一身份用户。如果一位用户在一天中通过多台设备使用您的应用,则系统会针对每台设备统计这一天的活跃用户数。如果多位用户在一天中使用同一台设备,系统会将其统计为一位活跃用户。
“用户感知的崩溃率”是 Android Vitals 核心指标,也就是说,它会影响您的应用在 Google Play 上的曝光度。此指标很重要,因为在用户与应用互动时,它统计的崩溃问题总是会发生,造成最严重的中断。
Play 针对此指标定义了两个不良行为阈值:
- 整体不良行为阈值:在所有设备型号上,至少有 1.09% 的每日活跃用户遇到用户感知的崩溃。
- 单一设备不良行为阈值:在单个设备型号上,至少有 8% 的日活跃用户遇到用户感知的崩溃。
如果您的应用超过了整体不良行为阈值,则在所有设备上的曝光度可能会降低。如果您的应用在某些设备上超出了单一设备不良行为阈值,则在这些设备上的曝光度可能会降低,并且您的商品详情中可能会显示警告。
当您的应用崩溃次数太多时,Android Vitals 可以在 Play 管理中心中向您发出提醒。您还可以在 Android Vitals 中查看崩溃堆栈轨迹。
如需了解 Google Play 如何收集 Android Vitals 数据,请参阅 Play 管理中心文档。