利用Android的UncaughtExceptionHandler捕获崩溃异常

利用Android的UncaughtExceptionHandler捕获崩溃异常

我们在开发Android应用时,由于一些这样那样的原因,偶尔会导致程序崩溃,而有的崩溃可以轻松的捕获到异常,有的崩溃就不轻易捕获到异常了。再一个原因是我们希望能够在应用崩溃的时候,能够收集到当时的一些信息,比如手机信号,版本等等,也就是日志信息,以及在崩溃的时候给用户一个良好的体验,不要直接一下就退出整个应用了。
通过调研发现,Android Thread的UncaughtExceptionHandler能够收集到这些异常。UncaughtExceptionHandler位于Thread类里面,Thread类提供了三个方法对UncaughtExceptionHandler进行处理。分别是setUncaughtExceptionHandler,setDefaultUncaughtExceptionHandler,getDefaultUncaughtExceptionHandler,从方法命名都可以看出啥意思吧。
有人也许会说,这些方法是Thread里面的,捕获的也是Thread里面的异常啊,android应用那么多线程,怎么能够捕获到呢?
肯定能够捕获到的,因为Android应用程序里面有一个主线程。我们可以在主线程里面setDefaultUncaughtExceptionHandler,然后在uncaughtException里面处理异常信息,你可以收集崩溃日志,跳转一个崩溃页面等等。

你可能感兴趣的:(异常)