【发布时间】:2011-12-06 05:44:25
【问题描述】:
我有这个使用配置文件选项运行的测试代码。 但我看不到任何泄漏
我已经注入了泄漏,但不确定为什么仪器没有显示泄漏
NSMutableArray* test_leak2()
{
int i=0;
NSMutableArray *arr = [[NSMutableArray alloc] init ];
while(i <100) {
NSImage *img = [[NSImage alloc] init ];
[arr addObject:img];
i++;
}
return arr;
}
int main(int argc, char *argv[])
{
NSMutableArray *arr = test_leak2();
return 0;
}
【问题讨论】:
-
除非您使用自动引用计数 (ARC),否则您应该会看到分配增加,静态分析器会告诉您什么?
-
您创建的项目是否启用了 ARC?如果是这样,ARC 会自动插入胶水代码,这意味着没有泄漏。检查自动保留计数的项目设置。这也许就是“问题”。如果您没有启用 ARC,请在 main.js 中添加一些 CPU 松弛。 Instruments 不是实时收集数据,而是在时间间隔(如秒)之后获取数据。在 return 0 之前插入“sleep(10)”。也许你会看到泄漏。
-
添加睡眠工程,谢谢!!!
标签: objective-c xcode4 instruments memory-leaks xcode-instruments