@iosdev58

NSImage.initWithContentsOfFile как при ARC правильно освободить память в Objective-C?

У меня есть простое OS X приложение которое должно часто (очень-очень часто) брать картинку из файла на диске и менять иконку в доке ей.

Вот как это делаю сейчас.

Инициализация
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    self.iconX =  [[NSImage alloc] initWithContentsOfFile: @"/Users/test.png"];
}


В момент частого изменения
[self.iconX initWithContentsOfFile: @"/Users/test.png"];
[NSApp setApplicationIconImage:self.iconX];


Но так как изменения происходят часто, а размер картинки может быть большим приложение просто сжирает память и виснет. Не понимаю как и что в таком случае должно освобождаться, при условии использования ARC по умолчанию?
  • Вопрос задан
  • 256 просмотров
Пригласить эксперта
Ответы на вопрос 1
@s0L
[self.iconX initWithContentsOfFile: @"/Users/test.png"];


очень плохо так делать, используйте ту же строчку, что и при запуске
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы