[英]NSOperationQueue and Memory
我一直在使用NSOperationQueue,但它有一个非常奇怪的内存问题。 我试图将问题减少到最简单的可能的问题,并且在这里我得到了:
初始化:
_queue = [[NSOperationQueue alloc] init];
后来:
TestOperation op = [[TestOperation alloc] init];
[self.queue addOperation: op];
然后在操作主体调用的方法中:
NSLog(@"I'm right here!");
如果我打电话数千次,我的记忆就一直在增长。
我只从我的方法中删除了NSLog(因此调用了一个空方法),我的内存没有改变。
我在这里做错了什么?
当您将操作添加到NSOperationQueue时,操作队列将拥有该对象,并将负责释放该对象。 也许您没有给NSOperationQueue足够的时间来释放内存并查看结果?
对于这种情况,您可以用@autorelease块将其包围,但是由于操作队列是负责对象释放的队列,因此我不知道它是否可以工作。 值得一试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.