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