Android App为什么发生异常会导致应用崩溃,进程结束

最近在写java程序时思考到一个问题,在java web程序运行的过程中任何线程(包括主线程)抛出异常后,只要有其他线程还在运行,虚拟机不会关闭,进程也不会结束,而在Android中则会导致系统崩溃,进程结束,然后弹出应用停止运行对话框、再次打开等。原因是Thread的线程异常处理器,jdk中没有为java程序设置默认的处理器,而Android框架中设置了默认的线程异常处理器,如果没有在线程中调用setDefaultUncaughtExceptionHandler设置了就会覆盖所有线程的异常处理,比如常用的CrashHandler,Bugly等崩溃日志记录框架都是基于此机制实现异常事件的处理。

代码效果图:

Paste_Image.png
Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,270评论 25 709
  • 转载于 http://www.uml.org.cn/mobiledev/201211063.asp#2 紧接连载三...
    ghroost阅读 5,348评论 2 17
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,359评论 19 139
  • 学习知识最重要的一环就是背书,背单词、背课文、背公式、背定理,会背书的同学,大多成绩不差,这给人一种假象:记性好的...
    笑长2016阅读 3,613评论 0 1
  • 记得90年代初,我们家门前有一条路,窄窄的,长长的,不知道从哪里来的,又不知道它要延伸到哪里去。 暑假的时候,忽然...
    朴素的安静阅读 2,761评论 0 0