Android捕获异常的实现
来源:互联网 发布:js 导航栏点击后变色 编辑:程序博客网 时间:2024/05/22 06:59
为什么要捕获异常
在调试阶段,我们可以用手机连着电脑(或者说模拟器),有问题了直接看日志,定位错误代码的位置,但是android机型成千上万,或者测试没有侧到位,当用户使用时出现了异常,直接crash了,第一用户体验不好,第二,用户不会告诉你怎么出现的bug,你也无法在下一个版本中修改这些问题
捕获异常,要完成的任务
1.任务一、不让用户看到奔溃页面,或者说即使奔溃了,立马重启,让用户感受不到,提升用户的体验
2.收集到错误日志(包含用户的手机信息、app版本等),把他写在文件里、存在sd卡上,发到我们的服务器
代码如何实现
Android提供了一个接口UncaughtExceptionHandler,实现这个接口,重写方法 uncaughtException(Thread thread, Throwable ex)
在这个方法里通过ex得到日志信息,同时得到手机环境信息等,将他们保存在文件中,存到sd卡,上传到服务器即可,最后记得杀死自己,调用这个方法,虚拟机会认为app出现了异常,从而立马重启app,用户感觉到app眼前一闪,立刻复活了
//别忘了手动退出,自已杀死自已的线程 android.os.Process.killProcess(android.os.Process.myPid());
别忘了继承Application类,在这里设置为程序默认的处理器,这样就不会调用系统自己的处理器(出个黑框框,出错了,直接奔溃)
Thread.setDefaultUncaughtExceptionHandler(mUncaughtExceptionHandler);
以上是最基本的思路,具体如何捕获异常,请看这里
Android中处理崩溃异常
直接使用第三方捕获异常的工具
但是现在有了现在的第三方工具,可以帮我们做到以上这些,而且做得更好,例如可以捕获NDK异常,漂亮的后台统计等功能,接入也很方便,为何不用呢,请看这里
Andoird Crash的跟踪方法,使用腾讯Bugly来捕捉一些疑难杂症,让我们APP稳定上线
0 0
- Android捕获异常的实现
- Android的异常捕获
- [Android]如何捕获未捕获的异常
- android应用捕获运行异常发送反馈邮件的实现
- Android小技巧:实现捕获应用的运行时异常
- android全局的异常捕获
- 实现捕获应用的运行时异常
- Android 中如何捕获未捕获的异常
- Android-捕获运行时未捕获的异常
- Android捕获未知异常的方法
- android未捕获异常的处理
- Android未捕获异常的处理
- android未捕获异常的处理方法
- 捕获android app应用的全部异常
- Android中整体异常的捕获
- Android捕获异常时候的log信息
- android设置缺省的异常捕获器
- 利用Android的UncaughtExceptionHandler捕获崩溃异常
- Window之删除桌面快捷方式图标箭头
- 详解Javascript对象
- Java语言基础02-流程控制
- 关于LayoutInflater
- Android UI-实现底部切换标签之方式一 ──fragment(底部采用radioGroup+radiobutton)添加5个子fragment
- Android捕获异常的实现
- 1036. 跟奥巴马一起编程(15)
- 92. Reverse Linked List II
- 数据库的连接的方式
- 【android】数据库升级完整解决方案
- HDOJ 4893 Wow! Such Sequence! (线段树)
- ACM递归递推练习 Problem L
- RSA在前端加密后端解密的应用
- hackinglab基础关WP