ios - 使用 ARC 时释放 NSMutableArray

标签 ios objective-c memory-management automatic-ref-counting

我正在使用最新的 SDK 和 ARC 开发 iOS 应用程序。

我有这个变量:

NSMutableArray* _previewImageBuffer;

这个方法:

- (void)shutdown
{
    [self stop];
    _previewImageBuffer = nil;
}

_previewImageBuffer = nil; 是否正确?如果我这样做,_previewImageBuffer` 中分配的内存会怎样?这是内存泄漏吗?

我想释放这个对象,因为我需要释放它使用的内存。

最佳答案

你所做的是完全正确的。在 ARC 下取消对象实例变量会释放该对象。释放一个 NSArray,如果它导致 NSArray 被释放,也会释放它的所有元素。

如果您对内存管理和 ARC 有疑问或困惑,您最好停下来仔细阅读事实,直到您不再有疑问或困惑。我的书有一个可能有用的解释:

http://www.apeth.com/iOSBook/ch12.html#_memory_management

关于ios - 使用 ARC 时释放 NSMutableArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15029925/

相关文章:

ios - 为什么自动布局在 iOS 7 和 iOS 8 中表现不同?

ios - Objective-C 从 UITableView 中删除所有选定的行

ios - 重用静态 TableView (iOS)

iOS开发: How am I mismanaging memory in this code?

C++ 函数 : Number of memory access

c - 通过 strdup() 和 malloc() 构造字符串之间有什么实际区别吗?

ios - NSSet 类型的值没有成员图像

ios - 什么时候调用委托(delegate)?

objective-c - 是否可以使用 NSURLConnection 执行不同的请求来保持 session 事件?

ios - 如何在动画中点击按钮时使按钮消失