最近项目总是闪退,记录一下,查查各种该死原因,优化下自己的代码,又往架构师走近了一步呐(才怪)。路过的大佬还有其他的,可以留言学习学习
*
空指针:对象在没有初始化情况下就使用;
*
死循环:没有合理的循环控制流;
*
内存泄露:同一个对象不断地开辟空间,而且没有释放或赋null;
*
内存溢出:程序所消耗的内存大于硬件提供的运行内存;
*
网络:异步加载时提前调用了数据(现象是在弱网时,根源是空指针);
*
界面UI:像拍照没有附加于ControlView;
*
主线程:需要主线程执行的,放于子线程里执行了。比如:网络电话--网络电话是用C语言写的,在高级语音中要调用中,需要加线程转换。
*
程序在升级时,修改了本地存储的数据结构,但是对用户既存的旧数据没有做好升级,结果导致初始化时因为无法正确读取用户数据而秒退
*
IOS:App 引用了一个新版操作系统里的动态库(或者某动态库的新版本)或只有新 iOS 支持的 Framework,而又没有对老系统进行测试,于是当
App 运行在老系统上时便由于找不到而秒退
*
版本功能差异:App 里某个功能后必退的原因,是开发时用到了只有新版操作系统才支持的某个方法,而又没有对该方法是否存在于老系统中做出判断