iOS 程序闪退怎样减少
2016-12-06 本文已影响108人
开心一刻_
在iOS中程序的闪退大多是由于nil指针和内存问题导致的,内存问题现在有了ARC,并且内存问题无法定位,@try是捕捉不到内存错误的,所以我们着重解决由于nil指针导致的闪退。
nil指针导致的闪退可分为:
- 数组Array会引起闪退的场景
- 插入一个nil在数组里面
2)获取的index超过了数组对象个数
3)getObjects:range:越界
- 数组NSMutableArray引起闪退的场景:
- objectAtIndex:越界
2)setObject:atIndexedSubscript:插入nil
3)removeObjectAtIndex:越界 - nsertObject:atIndex:插入nil
5)getObjects:range:越界
- NSDictionary引起闪退的场景
- NSString *nilStr = nil; NSDictionary *dict = @{ @"key" : nilStr};
value为nil值.
4.NSString
5.NSObject
6.NSMutableString
7.NSAttributedString
8.NSMutableAttributedString
9.NSMutableAttributedString
https://github.com/chenfanfang/AvoidCrash
这个第三方的库可以防止这些问题的出现。
可以在自己的项目里引入这个地方库,防止一些问题的出现。