对于应用开发者而言,衡量应用成功最好的指标就是开心的用户,而且是越多越好。达到这一目的的最佳途径就是开发一个好应用,那么什么样的应用才能被称作是 “好” 应用呢?归根结底就是两件事:功能以及应用质量。前者取决于开发者的创造力以及选用的商业模型;而后者则能够被客观测量及改善。
Android vitals 可以向开发者发送以下三种警告:崩溃、应用程序无法响应以及渲染次数。这三种情况都会直接影响到用户体验以及他们对应用的评价。此外,用户可能不会将 “异常耗电事件” 这类不良行为与您的应用直接联系起来。 这篇文章将探讨其中以下两个问题: 1. 过度唤醒:过度唤醒会对电池寿命造成影响,而且在无法及时充电的情况下,可能导致用户无法继续使用设备。此类行为可能会让用户迅速卸载您的应用; 2. 应用程序无法响应 (ANR) 事件:当应用的用户界面卡住时候,此类事件会被触发。在界面冻结时,若您的应用在前台运行,会出现对话框提醒用户 “关闭应用” 或者 “等待响应”。对用户而言,此类行为和应用崩溃一样糟糕。他们可能不会马上卸载您的应用,但是如果 ANR 问题一直不解决,就很有可能会寻找其它替代应用。 过度唤醒 那么,什么是唤醒?什么时候又是唤醒 “过度” 呢?
Android vitals 如何显示过度唤醒 Android vitals 能够帮助开发者了解自己的应用是否存在唤醒次数太多的问题。通过收集有关应用行为的匿名数据,Android vitals 可以显示有多少比例的用户在设备满电之后,每小时经历 10 次以上的设备唤醒。关键就是看有没有红色的图标出现,若图标出现,则说明应用已经越过了不良行为门槛,属于 Google Play 中表现最次的一档应用,而您则须要想办法改善应用行为了。 除了唤醒闹钟,还有别的方法吗? 开发者主要是通过 AlarmManager API 设定 RTC_WAKEUP 或 ELAPSED_REALTIME_WAKEUP 旗标,让应用在特定时间或者在某一时间间隔后唤醒设备。该功能须谨慎对待,仅在没有其它更优的任务调度和通知机制的情况下才可使用。在使用唤醒闹钟的时候,您需要考虑以下几点:
当 Android vitals 显示过度唤醒时,您应采取何种对策? 为了解决过度唤醒问题,您须要确认应用在什么地方设定了唤醒闹钟,然后降低这些闹钟的触发频率。 您也可以将 Find Usage (查找使用) 中的范围设定为 “Project and libraries (项目和库)”,查看依赖项是否在使用 AlarmManager API。如果确实在使用,那么您应该考虑使用别的库,或者向依赖项开发人员报告错误。 若您认为使用唤醒闹钟无法避免,那么如果您的闹钟标签满足以下要求,Play Console 可以提供更好的分析数据:
应用程序无法响应 那么,什么是应用程序无法响应 (以下简称为ANR)?它又是怎么影响到用户的呢?
Android vitals 如何显示应用程序无法响应? Android vitals 能收集并利用应用 ANR 事件的匿名数据,提供多个级别的 ANR 具体报告。主界面上概述了您应用中 ARN 活动的概览信息,显示用户至少经历一次 ANR 事件的日对话比重,并且提供前一天以及前 30 天的情况的单独报告。同时也提供了不良行为门槛。 打开详情界面,即 ANR 比率页面,您能够了解不同时间的 ANR 具体比例,以及针对不同应用版本、活动名称、ANR 类别、以及 Android 系统下的 ANR 情况。您可以就 APK 版本代码、支持设备、OS 版本以及时间,筛选查看这些数据。 应用程序无法响应常见原因 如上文所述,当应用进程影响到主线程时,ANR 事件会被触发,而导致这种阻塞现象的原因各有不一,较为常见的有:
如何检测应用程序无法响应原因 寻找触发 ANR 的原因不容易,我们拿 URL 类举个例子: 1. 您想看到 URL#equals (判断两个 URL 是否相同的方法) 阻塞线程吗?SharedPreferences 又怎么处理呢? 2. 如果您是在后台读取数值的话,您能在前台调用 getSharedPreferences 吗? 这两种情况都很可能导致长时间阻塞操作。幸好我们有 StrictMode,不用再自己瞎猜是什么原因导致 ARN 了。在调试构建的时候,您可以使用这个工具捕捉主线程上的意外磁盘或网络访问。
点击屏末 | 阅读原文 | 您可查看 Android 和 Google Play 相关内容信息 |
|
来自: alayavijnana > 《科技未来》