Android用UncaughtExceptionHandler捕获全局异常
2017-05-27 17:42
369 查看
我们平时测试app的时候总避免不了崩溃的情况,平时调试需要日志也就算了,但是如果公司人手比较少,测试的时候不能完全测试出bug,等上线了,有崩溃的bug可是头等大问题,之前同事教了一招可以稍微弥补下,今天在这记录一下做个笔记。
为了捕获应用运行时异常并给出友好提示,便可实现UncaughtExceptionHandler接口来处理,网上查了下资料,好多大神写的比较完善的例子,我这里只做一点小功能,就是奔溃的时候退出程序重新进入主界面。
我直接在Applocation中实现:
以上Applocation的代码只能实现崩溃重启app,给人一种错觉是好像自己程序没有崩溃,但是这只是一种弥补的措施吧,整体来说还是养成好的写代码的习惯,避免崩溃,或者多测试让上线的app更完善
为了捕获应用运行时异常并给出友好提示,便可实现UncaughtExceptionHandler接口来处理,网上查了下资料,好多大神写的比较完善的例子,我这里只做一点小功能,就是奔溃的时候退出程序重新进入主界面。
UncaughtExceptionHandler接口的介绍: Thread.UncaughtExceptionHandler 当Thread因未捕获的异常而突然终止时,调用处理程序的接口。 Thread类中一个方法介绍: setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh) 设置当线程由于未捕获到异常而突然终止,并且没有为该线程定义其他处理程序时所调用的默认处理程序。
我直接在Applocation中实现:
public class MyApplication extends Application implements Thread.UncaughtExceptionHandler { @Override public void onCreate() { super.onCreate(); Thread.setDefaultUncaughtExceptionHandler(this); } @Override public void uncaughtException(Thread t, Throwable e) { System.exit(0); Intent intent = new Intent(this, LauncherActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); }
以上Applocation的代码只能实现崩溃重启app,给人一种错觉是好像自己程序没有崩溃,但是这只是一种弥补的措施吧,整体来说还是养成好的写代码的习惯,避免崩溃,或者多测试让上线的app更完善
相关文章推荐
- Android使用UncaughtExceptionHandler捕获全局异常
- Android使用UncaughtExceptionHandler捕获全局异常
- Android使用UncaughtExceptionHandler捕获全局异常
- Android使用UncaughtExceptionHandler捕获全局异常
- 【Android】 使用UncaughtExceptionHandler捕获全局异常
- Android -- 使用UncaughtExceptionHandler捕获全局异常
- Android使用UncaughtExceptionHandler捕获全局异常
- Android使用UncaughtExceptionHandler捕获全局异常
- Android使用UncaughtExceptionHandler捕获全局异常
- Android使用UncaughtExceptionHandler捕获全局异常
- Android使用UncaughtExceptionHandler捕获全局异常
- android应用开发-------------应用崩溃全局异常捕获处理(UncaughtExceptionHandler)
- Android使用UncaughtExceptionHandler捕获全局异常
- Android使用UncaughtExceptionHandler捕获全局异常
- Android使用UncaughtExceptionHandler捕获全局异常
- Android使用UncaughtExceptionHandler捕获全局异常
- Android使用UncaughtExceptionHandler捕获全局异常
- Android使用UncaughtExceptionHandler捕获全局异常
- Android使用UncaughtExceptionHandler捕获全局异常
- Android使用UncaughtExceptionHandler捕获全局异常