所有的App都会发生crash,本文讲解的是如何采集crash信息以供后续开发处理这类问题。
基本思路
当crash发生时,系统会调用UncaughtExceptionHandler的uncaughtException方法,我们可以在这个方法中捕获异常信息,把异常信息存到SD卡中,在合适的时候通过网络把crash信息传回服务器,这样就可以分析crash原因,在后续的版本中解决。
先看一下Thread类中的一个方法,setDefaultUncaughtExceptionHandler
|
|
defaultUncaughtHandler是Thread类的静态成员变量,所以如果我们将自定义的UncaughtExceptionHandler设置给Thread的话,那么当前进程内的所有线程都能使用这个UncaughtExceptionHandler来处理异常了。
CrashHandler
|
|
使用方法
在Application的onCreate方法中配置一下就可以