繁体   English   中英

NSOperationQueue和内存

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM