2011-07-12 125 views
0

我收到我的日誌文件(GDB)的消息,因爲對象正在泄漏... NsAutorelease池..就像近10倍的東西。 任何人都可以解釋我。爲什麼這條消息顯示..?對象泄漏。 NSAutorelease池

在此先感謝。

+0

可能是因爲它泄漏..你能顯示圍繞這個NSAutoreleasePool的代碼嗎?這樣我們可以告訴你。 – Manuel

+0

簡答:爲什麼?它泄漏。現在詳細的答案實際上發佈控制檯消息和/或相關/可疑代碼。 – Joe

+0

未來,最好是發佈你得到的實際錯誤,而不是像「物體泄漏...... NsAutorelease pool ...」之類的亂碼回憶。如果這不是一個明顯而且衆所周知的錯誤,那麼沒有人能夠幫助你。 – Chuck

回答

0

我一般用:

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 

// Your autoreleased objects 

[pool release]; 

但它取決於是否在你的代碼你在這個問題您是否使用多線程運行...?或者一切都發生在主線程中?

+0

使用'[pool drain]'而不是'[pool release]' – Joe

3

這意味着你正在自動釋放沒有autorelease池的對象。所以這些對象不會被釋放,並可能因此而泄漏。

所以你應該確保你有一個游泳池。