【Github】项目名:Cockroach:降低Android非必要crash
项目简介
在Android开发中,很多时候由于小bug导致app崩溃,而默认的异常杀进程机制简单粗暴。有些系统或编码造成的bug对用户影响不大,这种情况下崩溃不如忽略。Cockroach库可减少非必要的崩溃情况。
项目目的
旨在降低Android应用中那些因微不足道的bug而产生的不必要的崩溃情况,避免因小问题影响用户体验。
核心技术
Cockroach 2.0通过替换ActivityThread.mH.mCallback,实现拦截Activity生命周期,通过调用ActivityManager的finishActivity结束掉生命周期抛出异常的Activity。
实践案例
- 某特殊手机开启Activity时提示未在清单中声明(其他机型正常),在onclick回调里直接startActivity,因无其他逻辑可直接忽略,仅该Activity不显示。
- 集成三方数据统计库在Application的onCreate最后初始化时崩溃,由于在启动流程中的位置可直接忽略。
- 检查app升级功能中,用Application开启dialog风格Activity提示升级,上线崩溃提示未设FLAG_ACTIVITY_NEW_TASK,低版本问题可直接忽略。还有onclick触发的异常很多也可忽略。
项目总结
Cockroach库在处理Android非必要崩溃方面有着独特的作用,其2.0版本也在不断优化。如果你对这个项目感兴趣或者有任何想法,欢迎在下方留言讨论。