我一直在遇到內存問題(應用程序會運行幾次迭代,然後接收低內存警告,並最終終止),同時在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