您的位置:首页 > 移动开发 > Android开发

Android崩溃日志记录

2015-06-01 22:22 766 查看
文章首先发表在http://www.hikyson.cn/archives/756


你可以在https://git.oschina.net/cocobaby/CrashReporter找到文章所指项目。

和其他博客类似的东西我就不赘述了。大多代码如下:

[code]Thread.setDefaultUncaughtExceptionHandler(mUncaughtExceptionHandler);


说下注意点,尝试了一般方法,发现完全自己去处理崩溃的话,应用弹不出系统崩溃之类的dialog了,而是处于一个假死状态,这个让人不能忍。所以,我查阅了一些资料。把原来的逻辑改成了如下:

我在
Thread.setDefaultUncaughtExceptionHandler(mUncaughtExceptionHandler);
之前先把系统默认的handler取出来,然后在
public void uncaughtException(Thread thread, Throwable ex)
的最后使用系统的处理。

注意是最后!如果是之前的话进程似乎会被杀死,导致我们自己的逻辑执行不到了。

还有一点需要说明下,这个方式是全局的,setDefaultUncaughtExceptionHandler的api文档是这么写的:

Sets the default uncaught exception handler. This handler is invoked in case any Thread dies due to an unhandled exception.

所以其他线程也可以捕获异常。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: