我们在开发过程中都会遇到偶现的crash,当我们打断点调试的时候,它是好好的,完全没毛病,然而测试妹子就是告诉你,在“XX”模块存在一个的bug,有问题有问题,不能上线,像这种问题是最头疼的。那就下功夫找呗,碰碰运气,碰到了那就解决了,碰不到呢?那就不解决了吗?NO!NO!NO!下面我来结束一下如何解决这种偶现的crash。
一、收集信息
首先我们来了解一下UncaughtExceptionHandler,这是UncaughtException处理类,当程序发生Uncaught异常的时候,有该类来接管程序,并记录发送错误报告。那我们就用这个类来发现问题,解决问题。
收集设备信息,如图
CrashHandler1.jpg
收集crash信息和日期信息,最后保存在文件中,如图
CrashHandler2.jpg
CrashHandler3.jpg
二、分析问题
我们下载一个强大的文件管理器:ES文件浏览器,如图:
CrashHandler4.jpg
根据我们存储的文件路径( String path = Environment.getExternalStorageDirectory() + "/errorLog";)找到存储的文件,如图:
CrashHandler5.jpg
CrashHandler6.jpg
3.打开文件看到我们保存的错误信息,你可以用ES文件浏览器打开,你也可以把文件到电脑上分析,如图:
CrashHandler7.jpg
问题的确如此,如图:
CrashHandler8.jpg
注意:
1、在 Applic