仪器和泄漏

时间:2013-01-10 18:16:51

标签: ios objective-c memory-warning

我有一个应用程序,我正在分析它。我对仪器很陌生,我也是新的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)]];

以这种方式使用此方法有什么问题吗?

1 个答案:

答案 0 :(得分:1)

Instruments向您展示的方法是分配泄漏内存的位置 - 不一定是内存泄漏的位置。事实上,你的方法在内存管理方面是正确的。

因此,您最好检查如何处理返回的UIImage对象...可能,如果此提示无法帮助您找到泄漏原因,请发布更多代码。