ANR/卡顿分析

目前,透视宝支持对Android ANR信息和iOS卡顿信息的抓取,通过对ANR/卡顿的深入追踪和分析相关线程、Trace文件和信息,帮助您发现引起ANR/卡顿的原因,通过优化应用程序的性能,减少并避免ANR/卡顿,提升用户体验。

什么是ANR
Android上,如果应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANRApplication Not Responding)对话框。ANR对于应用的影响并不亚于崩溃,一个流畅的合理的应用程序中不应该出现ANR。因此,在应用程序里对响应性能的设计很重要,一旦发生ANR就应该及时分析原因并修复问题,以免影响用户体验。

什么是卡顿?
iOS平台屏幕刷新停顿,这种现象称之卡顿,产生原因主要是因为UIKIT本身的特性,所有的UI操作都在主线程执行(UI线程),如果主线程中包含大量的IO、计算、绘制等操作,就可能阻塞主线程刷新UI操作,产生卡顿。

安装Smart SDK(iOS)后可以配置卡顿阈值(默认为3.5s),当屏幕卡顿时间大于设定的卡顿阈值时,透视宝才会记录并上报该次事件。

概览分析

在概览页,查看一段时间内所选App版本的ANR/卡顿整体分析,包括概要信息、ANR/卡顿率、ANR/卡顿数变化趋势、ANR/卡顿列表及ANR/卡顿分布(设备、OS版本、运营商、接入方式、地域)。

概要

在概要信息中查看一段时间内所选App版本发生ANR/卡顿的比率、发生ANR/卡顿的用户、发生ANR/卡顿的总次数及人均次数。

4.9.png

卡顿率

在ANR/卡顿率中查看所有ANR/卡顿的App版本及每个版本的ANR/卡顿率。

4.9-2.png

卡顿趋势

查看一段时间内应用的卡顿次数趋势,如下图所示。

4.9-3.png

卡顿列表

在ANR/卡顿列表中查看ANR/卡顿摘要、ANR/卡顿次数、影响设备、APP版本、首次发生时间及最近发生时间,点击<查看更多>按钮查看全部ANR/卡顿列表。

4.9-4.png

详细分析

在ANR/卡顿列表中,点击ANR/卡顿摘要信息可以查看单个ANR/卡顿的详细分析,包括ANR趋势、设备分布、系统版本分布及ANR/卡顿追踪信息。

ANR/卡顿追踪中,查看当前ANR/卡顿每次的详细信息,包括App基本的软硬件信息、ANR/卡顿线程、全部线程、ANR/卡顿Trace文件及ANR/卡顿Message信息。

4.9-5.png

通过透视宝提供的信息分析ANR/卡顿的类型、CPU的使用情况、调用堆栈等信息,从而确认导致ANR/卡顿的原因并找到解决方法。

例如:

  • 如果CPU使用量接近100%,说明当前设备很忙,有可能是CPU饥饿导致了ANR。

  • 如果CPU使用量很少,说明主线程被BLOCK了。

如果IOwait很高,说明ANR有可能是主线程在进行I/O操作造成的。