线上app崩溃让大多研发者头疼,传统方法解决,要么通过热修复(会被苹果逐步封杀 pass),要么发布紧急版本,有没有一种方案,我们去开发一套防APP常见崩溃(大多数常见崩溃)的方案呢?其实git上已经有一些开发者在做这件事,今天我也开始一步步构建自己的app崩溃防御系统;
今天讨论一下,方案选择的问题:
我设想了两个方案,
一个是通过类目,扩展类的方法去做,比如数组越界,我重新创建一个方法主动去调用它,达到防止数组越界造成的崩溃;
第二个就是动态运行时,通过动态运行时,直接替换系统的方法;
经过思考,选择第二种方案,原因如下:
类目在多人开发时,如果没有约定好规范,大家可能还是调用系统自带的API,第二点就是自己写着写着也很有可能忘记类目,直接调用系统API,这样防御系统就无效了,所以动态运行时可以说是在防某种崩溃上一劳永逸的解决方案;
mark
20171025~