Прибор и утечки

У меня есть приложение, и я его профилирую. Я совершенно новичок в инструменте, и я также новый разработчик 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 ответ

Решение

Метод, который показывает вам Instruments, - это место, где выделяется утечка памяти - не обязательно место, где просачивается память. На самом деле ваш метод является правильным в отношении управления памятью.

Таким образом, вам лучше проверить, как вы справляетесь с возвращенными UIImage возражать... возможно, если эта подсказка не поможет вам найти причину утечки, опубликуйте еще немного кода.

Другие вопросы по тегам