我应该发布NSData dataWithContentsOfURL吗?

时间:2011-06-28 23:42:11

标签: ios memory-management

关于记忆管理的问题如下:

NSData *returnData = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]                                                options:0                                                     error:&err];

我们看到我们的分配在这里飙升,但不确定我是否应该在移除它之后释放这个内存。

当我尝试发布时,我得到一个例外,所以不要在这里理解内部因素。

提前致谢!

2 个答案:

答案 0 :(得分:1)

没有。根据命名约定返回autorelease d。

您可以查看内存管理编程指南:http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html

答案 1 :(得分:0)

不,你不需要发布它。 dataWithContentsOfURL:方法返回autorelease个对象。如果您没有明确保留它,它将自动释放。

自动,即只要当前线程正确设置了NSAutoreleasePool。所有autorelease个对象在其封闭的NSAutoreleasePool被耗尽时会被释放。如果您在此代码中发现了泄漏,那么相应的池可能没有足够频繁地耗尽(或者可能根本没有)。