我正在使用最新的SDK和ARC开发iOS应用程序。
我有这个变量:
NSMutableArray* _previewImageBuffer;
这个方法:
- (void)shutdown
{
[self stop];
_previewImageBuffer = nil;
}
_previewImageBuffer = nil;
是否正确?如果我这样做,_previewImageBuffer`中分配的内存会发生什么?这是内存泄漏吗?
我想释放这个对象,因为我需要释放它使用的内存。
答案 0 :(得分:5)
你正在做的事情是完全正确的。在ARC下取消对象实例变量会释放该对象。释放NSArray,如果它导致NSArray被释放,也会释放其所有元素。
如果您对内存管理和ARC有疑问或困惑,那么在您不再怀疑或困惑之前,最好停下来阅读事实。我的书有一个可能有用的解释:
答案 1 :(得分:1)
在ARC下,这不是泄漏。记忆将被释放。学习ARC时,您还应该查看strong
或weak
引用之间的区别。