2011-07-12 39 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池的对象。所以这些对象不会被释放,并可能因此而泄漏。

所以你应该确保你有一个游泳池。