关于记忆管理的问题如下:
NSData *returnData = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL] options:0 error:&err];
我们看到我们的分配在这里飙升,但不确定我是否应该在移除它之后释放这个内存。
当我尝试发布时,我得到一个例外,所以不要在这里理解内部因素。
提前致谢!
答案 0 :(得分:1)
没有。根据命名约定返回autorelease
d。
您可以查看内存管理编程指南:http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html
答案 1 :(得分:0)
不,你不需要发布它。 dataWithContentsOfURL:
方法返回autorelease
个对象。如果您没有明确保留它,它将自动释放。
自动,即只要当前线程正确设置了NSAutoreleasePool
。所有autorelease
个对象在其封闭的NSAutoreleasePool
被耗尽时会被释放。如果您在此代码中发现了泄漏,那么相应的池可能没有足够频繁地耗尽(或者可能根本没有)。