您的位置:首页 > 移动开发 > IOS开发

ios 内存管理

2016-01-20 20:34 302 查看
ARC机制中是否就不存在内存泄漏呢,答案是肯定的.
有的人也许会说ARC中怎么会存在内存泄漏呢,它不是自动管理内存吗?如有疑问请看下面的解说

>>因为当一个对象存入到集合中的时候,默认会保存它的强指针,如果最后不对这个集合进行清空操作,一样会有内存溢出的情况
Person * p = [[Person alloc] init];
NSMutableArray * arr = [[NSMutableArray alloc] init];
[arr addObject:p];
把对象从集合中移除的时候,也会释放掉这个对象的强指针
[arr removeObject:p];
或者[arr removeAllObjects];
而接下来才是重点:
arr = nil;//如果不进行赋值为nil的操作,一样存在内存溢出的现象,赋值为nil系统会对其进行清空所有强指针的操作.
p = nil;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: