美文网首页
IOS中出现内存溢出的情况

IOS中出现内存溢出的情况

作者: 冰冰大象 | 来源:发表于2016-08-12 14:05 被阅读1811次

1. 使用了第三方类库

  1. 如果在使用Instrument检测内存时,出现溢出并且错误代码定位到了第三方类库的方法,此时应该先下载最新的第三方类库
  2. 如果更新第三方类库依旧提示内存溢出,请继续往下看

2. 协议中必须使用weak来进行弱引用

先来一个错误了例子

@property(nonatomic,strong)id<JCTopicDelegate> JCdelegate; //在外部调用self. JCdelegate=self

在协议中必须使用弱引用来处理协议正确代码因为

@property(nonatomic,weak)id<JCTopicDelegate> JCdelegate;

3. Block中必须使用weak来进行弱引用

只要不是在block中声明的所有对象,都用__weak声明下

__weak AddressCell*_cell=cell;
__weak typeof(self)_self=self;
cell.IndexPath=indexPath;
cell.BtnDefault.IsCheckBoxBlock=^(BOOL isCheck)
{
    if(!isCheck)
    {
        [_cell.BtnDefault SetCheck:!isCheck];
    }
    else
    {
      [_self BtnSetDefaultClick:&isCheck index:_cell.IndexPath];
    }
};

相关文章

网友评论

      本文标题:IOS中出现内存溢出的情况

      本文链接:https://www.haomeiwen.com/subject/lbedsttx.html