我一直在遇到内存问题(应用程序会运行几次迭代,然后接收低内存警告,并最终终止),同时在NSInvocationOperation中使用由NSTimer重复调用的方法。NSInvocationOperation iPhone上的内存问题
的方法将被称为第二的每1/4,我已经问题的源缩小到下面的测试线:
-(void)methodCalledByTimer {
NSInvocationOperation *o = [NSInvocationOperation alloc];
[o release];
}
在取消这两条线(以产生一个空的方法)将防止内存问题出现。一旦他们进入,内存使用量将增加得相当快,最终该应用程序将被终止。
任何人都可以解释我在做什么错吗?我需要做其他事情来确保NSInvocationOperation对象将被正确释放吗?
非常感谢您的帮助。
亲切的问候, 迈克尔。
你知道我是否真的可以重用NSInvocationOperation对象吗?我将该对象添加到NSOperationQueue,并在队列完成后让队列处理该操作。因此,为了保持操作并重用它,我会将它保留在某处并使用initWithTarget:selector:object重新启动它,以便第二次运行?不知道,如果那真的能起作用,但我可以试一试,让它知道它是否有效。感谢您的快速反馈! – 2009-12-20 12:37:09