虽然APP崩溃是作为开发者最不愿意看见的事情,但需要面对现实。既然崩溃已经发生,无法阻挡,那我们就让自己淡定点,正面处理问题。iOS SDK中提供了一个现成的函数 NSSetUncaughtExceptionHandler 用来做异常处理,但功能非常有限,而引起崩溃的大多数原因如:内存访问错误,重复释放等错误就无能为力了。
这时就需要用到专业的工具,来对APP进行崩溃分析了,作为开发者,我使用的是友盟+U-APM应用性能检测平台,它还具有云真机的优势,是一站式的产品,使用起来非常方便。本文章就着重讲述友盟+U-APM这款工具的崩溃分析功能。
一、友盟+U-APM崩溃分析功能概述
App运行时,对主进程和子进程的崩溃捕获和分析。通过对崩溃日志的计算,为开发者展示了App在所选时间中的错误趋势、错误分布、错误列表和错误详情,可快速地分析出导致APP崩溃的主要原因。
二、友盟+U-APM崩溃分析名词解释
错误数:该类错误在一定时间范围内产生的次数,也就是SDK上报的日志数量
错误率:错误率 = 错误数 / 应用启动次数
影响用户数:在一定时间范围内对该类错误的所有错误日志按照设备维度进行排重计数
影响用户占比:影响用户占比=影响用户数/活跃用户数
三、友盟+U-APM崩溃分析错误趋势
在一定筛选条件与时间范围内,错误次数、错误率、影响用户数、影响用户占比的图表趋势,可以选择应用版本进行对比。
1、异常类型
在Android系统中,崩溃分为“Java崩溃”和“Native崩溃”。
在iOS系统中,支持捕获Objective-C层或Swift层崩溃。
2、时间范围
支持最近90天的数据查询
3、维度筛选
支持应用版本、设备机型、操作系统、运营商、渠道、地域的维度筛选
4、高级功能
新增异常:在时间范围与筛选维度条件下,首次生成错误ID的异常(错误ID是错误摘要唯一识别)
屏蔽系统级别的错误:如果错误中堆栈无业务内容,则被判定为系统级别错误。您可以屏蔽系统级别错误,以便专注于分析业务错误。
只看鸿蒙设备:指发生错误/异常的设备为HarmonyOS,但尚未支持HarmonyOS系统级别错误
四、友盟+U-APM崩溃分析错误分布
在时间范围与筛选维度条件下,按照应用版本、设备机型、操作系统、运营商、渠道、地域、崩溃页面、运行时长8个维度的分布图。
TOP5:错误次数的TOP5排行情况
详情:该维度下,各属性值对应的错误次数与用户数明细,支持在表头筛选具体属性。
五、友盟+U-APM崩溃分析错误列表
在时间范围与筛选维度条件下,所有崩溃日志按照崩溃摘要进行聚合后的错误列表。
1、错误排行:默认按照崩溃次数降序展示,帮助您快速的找到崩溃次数最多、影响最严重的错误。您也可以选择按照影响人数排行,找到影响面积最大的错误。
2、错误ID:是错误摘要的唯一识别
3、版本范围:在当前筛选条件下,该崩溃发生的版本范围
4、处理状态:该错误的处理状态,支持设置状态包括未修复、处理中、已忽略、已修复
5、告警设置:您可以对单个错误进行告警设置,在该位置添加的告警可在监控告警中修改和设置,点击了解告警详情。
6、标签:支持对错误摘要添加标签
7、导出:导出当前展示的错误列表内容,一次导出最多支持1000条
六、友盟+U-APM崩溃分析错误详情
将错误摘要相同的错误日志聚合在一起,展示其详细信息,帮助您快速定位问题、解决问题。
通过这篇文章,还有友盟+U-APM这款工具的帮忙,相信大家以后应该都可以从容的处理APP崩溃的问题了吧。U-APM 是友盟+推出的App稳定性监控、性能监控和云真机测试平台。通过轻量级的集成接入即可拥有实时、可靠、全面的应用崩溃、ANR、自定义异常等捕获能力,及卡顿、启动分析等性能能力,支持多场景、多通道智能告警监控,帮助开发者高效还原异常、卡顿用户的访问路径和业务现场,缩短故障排查时间。