所以这让我困惑了一段时间。我正在“配置文件”模式下运行我的应用程序,试图在我的应用程序中查找内存泄漏。我想,当我点击我的应用程序的Map部分时,我得到了所有人的期望,它报告了NSAutoreleasePool
的引用从基础库中泄露出来。我检查对象的跟踪但它只报告方法allocWithZone
。对于查看控制器的alloc
和dealloc
多少次,它似乎只泄漏一次。我搜索了我的代码,我对NSAutoreleasePool
的唯一引用是在main.m文件中。这是一个Apple bug(我怀疑)还是我做错了什么?
的main.m
#import <UIKit/UIKit.h>
int main(int argc, char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
答案 0 :(得分:0)
看起来这是一个Apple bug。在另一个问题中泄漏了相同数量的内存,这使我相信它们是同一个bug。我做了大量的代码审计,似乎没有任何工作来摆脱泄漏。哦,我希望他们尽快解决。 NSAutoReleasePool Leaks on allocWithZone