我有一个应用程序,我正在分析它。我对仪器很陌生,我也是新的ios开发人员。我正在使用ios6,我有一个非常不寻常的泄漏。我在UIImage上创建了一个类别,并添加了辅助方法来返回图像以使用capinsets。我的类别看起来像这样,
@implementation UIImage (Helpers)
+(UIImage*)resizableImageWithName:(NSString *)imageName andCapInsets:(UIEdgeInsets)insets{
UIImage *image = [UIImage imageNamed:imageName];
return [image resizableImageWithCapInsets:insets];
}
@end
仪器在这个区域显示3/4泄漏,同一个地方,我无法弄清楚它的原因。是这样,我必须释放我在类别中创建的新图像,如果我发布它我将返回什么?任何人都可以解释一下我在这里泄漏记忆的原因。
我这样用过它;
[self.progressView setTrackImage:[UIImage resizableImageWithName:@"progress_bar_background.png" andCapInsets:UIEdgeInsetsMake(2, 2, 2, 2)]];
以这种方式使用此方法有什么问题吗?
答案 0 :(得分:1)
Instruments向您展示的方法是分配泄漏内存的位置 - 不一定是内存泄漏的位置。事实上,你的方法在内存管理方面是正确的。
因此,您最好检查如何处理返回的UIImage
对象...可能,如果此提示无法帮助您找到泄漏原因,请发布更多代码。