【发布时间】:2012-01-03 18:20:25
【问题描述】:
我使用 Xcode 4。这是一个巨大的内存泄漏,我认为这是静态分析器最简单的搜索之一:
-(void)leak:(id)sender{
images=[[NSMutableArray alloc] init];
for (int i=0; i<=2000; i++) {
UIImage *image=[[UIImage alloc] initWithContentsOfFile:[[NSBundle
mainBundle]pathForResource:@"Icon" ofType:@"png"]];
[images addObject: image];
}
}
但是当我选择产品|分析时,分析器没有捕获任何东西。我是否对 Xcode 进行了任何意外更改?或者这真的应该是这样吗?
【问题讨论】:
-
我假设你没有使用 ARC,是吗?
-
对不起,我必须明确打开它还是默认打开它?我该如何检查?
-
据我所知,从 XCode 4.2 开始,ARC 会为您选择“使用自动引用计数”的新项目打开。这是how you can turn it off上的信息。
-
我检查了我的 Xcode 版本,它是 4.1 而不是 4.2,我在构建设置中找不到任何关于 ARC 的信息
-
那你没有使用ARC,因为4.2之前不支持。这是您怀疑应该触发警告的
images吗?它看起来不像泄漏,更像是指向我的悬空指针(但我可能错了,因为我自己对 iOS 开发还比较陌生)。
标签: xcode4 memory-leaks static-analysis