NSOperationQueue and Memory



我一直在使用nsoperationqueue,并且我的内存问题非常奇怪。我已经尝试将问题简化为最简单的问题,在这里我得到了:

在init:

_queue = [[NSOperationQueue alloc] init];

以后:

TestOperation op = [[TestOperation alloc] init];
[self.queue addOperation: op];

然后在操作主管调用的方法中:

NSLog(@"I'm right here!");

如果我打电话数千次,我使用的记忆只会继续增长。

我我只从我的方法中删除nslog(因此调用一个空方法)我的内存不会改变。

我在这里做错了?

当您将操作添加到nsoperationqueue时,该操作队列拥有该对象,并将负责释放它。也许您没有给NsoperationQueue提供足够的时间来释放内存并查看结果?

在这种情况下,您可以用@autorelease块包围它,但是由于该操作队列是负责释放对象的负责人,所以我不知道它是否可以工作。值得一试。

最新更新