|
/

记录使用U-APM —— 崩溃分析功能解决App崩溃问题的方法

Ll*********79
发布于 5 年前
177
应用性能监控 U-APM
SDK集成与升级
数据异常

遇到的问题:

我们公司开发了一款App,一部小部分用户反映在开APP授权通知权限之后会出现闪退的情况,但是我们通过几台测试机的测试,都无法复现这个问题,比较棘手。

解决方案:

我们先排除掉机器内存和磁盘空间不足导致的问题,我们通过上传用户手机的内存总大小、剩余内存的大小、磁盘总空间和磁盘剩余空间,排除掉了这个因素。

之后我们就考虑是不是因为代码逻辑上的一些问题导致的,于是我们尝试使用友盟+的U-APM ——崩溃分析功能,可以看到crash的一些信息,包括错误的类型、具体哪一行导致了报错、出现的频率和机器相关的参数,这对我们的debug有很大的帮助,于是我们尝试安装友盟+的SDK,设置了邮件和钉钉的错误提醒,并发布了新版本APP。

两天后,这部分用户再次打开App之后,也出现了授权权限之后闪退的情况。同时,我们也收到了来自友盟的错误提醒邮件和钉钉提醒。

U-APM定位了错误的地方,如下图,在MainActivity.java的第93行,出现了ArrayIndexOutOfBoundsException,也就是数组下标超过了数组长度-1,具体的crash时间和机器参数也同时总结了出来,帮我们总结了很有用的信息。

我们发现这个现象只有在荣耀系列的手机里才会出现,于是我们加强了荣耀系列手机的测试,在一次手动在系统中关闭权限之后打开app的用例中重现了这个问题,也找到了根本的原因,因为当用户手动关闭某些权限的时候,回调返回的是一个空数组,而我们去取下标为1的值的时候就会导致报错了。

修复之后我们继续使用友盟+U-APM去观察这个问题是否解决,自从修复了这个问题并发布了新版本之后,再也没有这个报错了。

1个回答
 
5 年前

👍 👍 👍 👍 👍 👍 👍 👍

Loading ...
登录社区,分享你的经验