异常捕获

iOS 程序闪退怎样减少

2016-12-06  本文已影响108人  开心一刻_

在iOS中程序的闪退大多是由于nil指针和内存问题导致的,内存问题现在有了ARC,并且内存问题无法定位,@try是捕捉不到内存错误的,所以我们着重解决由于nil指针导致的闪退。

nil指针导致的闪退可分为:

  1. 数组Array会引起闪退的场景
  1. 插入一个nil在数组里面
    2)获取的index超过了数组对象个数
    3)getObjects:range:越界
  1. 数组NSMutableArray引起闪退的场景:
  1. objectAtIndex:越界
    2)setObject:atIndexedSubscript:插入nil
    3)removeObjectAtIndex:越界
  2. nsertObject:atIndex:插入nil
    5)getObjects:range:越界
  1. NSDictionary引起闪退的场景
  1. 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
这个第三方的库可以防止这些问题的出现。
可以在自己的项目里引入这个地方库,防止一些问题的出现。

上一篇下一篇

猜你喜欢

热点阅读