最近在写java程序时思考到一个问题,在java web程序运行的过程中任何线程(包括主线程)抛出异常后,只要有其他线程还在运行,虚拟机不会关闭,进程也不会结束,而在Android中则会导致系统崩溃,进程结束,然后弹出应用停止运行对话框、再次打开等。原因是Thread的线程异常处理器,jdk中没有为java程序设置默认的处理器,而Android框架中设置了默认的线程异常处理器,如果没有在线程中调用setDefaultUncaughtExceptionHandler设置了就会覆盖所有线程的异常处理,比如常用的CrashHandler,Bugly等崩溃日志记录框架都是基于此机制实现异常事件的处理。
Android App为什么发生异常会导致应用崩溃,进程结束
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
- 转载于 http://www.uml.org.cn/mobiledev/201211063.asp#2 紧接连载三...