我们使用以下代码在图片视图中设置图片,
@autoreleasepool {
UIImageView *titleView = [[UIImageView alloc] initWithImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"ImgTitle" ofType:@"png"]]];
}
仪器显示上面两行中的内存泄漏。我们检查了Xcode 5.0.1到iOS7。
任何人都建议你解决这个问题。
答案 0 :(得分:0)
尝试更改
@autoreleasepool
{
UIImageView *titleView = [[UIImageView alloc]initWithImage:
[UIImage imageWithContentsOfFile:
[[NSBundle mainBundle]pathForResource:
@"ImgTitle" ofType:@"png"]]];
}
到
UIImageView *titleView = [[UIImageView alloc]initWithImage:
[UIImage imageWithContentsOfFile:
[[NSBundle mainBundle]pathForResource:
@"ImgTitle" ofType:@"png"]]];
使用titleView后,您可以将其设置为nil来处理内存,如下所示。
如果项目启用了ARC,请使用
titleView=nil;
如果没有,
titleView release];
titleView=nil;`
这将解决您的问题。
答案 1 :(得分:0)
对我而言,您的代码正在显示
Dead Store : Value stored to 'titleView' during its initialization is never read
这也是有道理的。 没有内存泄漏警告