2009-10-14 1 views
0

Я создал видео-просмотрщик, который является плагином Safari, который отображает видео с сетевых устройств. Зритель читает растровые изображения, подготавливает их и устанавливает их на объект NSImageView следующим образом:Объектив C - NSImageView, NSImage, NSBitmapImage.

NSBitmapImage * bmImg = [[NSBitmapImage alloc] initWithBitmapDataPlanes:. , .]
NSImage * img = [[NSImage alloc] init];
[img addRepresentation: bmImg];

Изображение добавляется в NSImageView через «setImage» в основной теме. Видео отображается нормально.

Мой вопрос заключается в том, должен ли акт установки следующего изображения через «setImage» привести к тому, что предыдущий образ и связанное с ним растровое изображение будут выпущены и впоследствии освобождены?

Нужно ли мне выполнять [img release] на изображении alloc'd?

Должен ли я удалить изображение rep из img и отпустить его также?

Заранее спасибо.

+0

Покажите нам свой реальный код. Нет такой вещи, как NSBitmapImage; Я предполагаю, что вы имеете в виду NSBitmapImageRep. Кроме того, форматируйте его как код, а не смешивайте с остальной частью вопроса. –

ответ

0

Вам нужно действительно пойти и прочитать руководство по управлению памятью какао. Он ответит на все ваши вопросы.

0

Я действительно прочитал руководство по управлению памятью какао до публикации здесь. Это было не очень очевидное решение, хотя руководство помогло, как только я снова прочитал его.

Решение должно было освободить экземпляры NSImage и NSBitmapImageRep после отправки его в «setImage» в NSImageView.

 Смежные вопросы

  • Нет связанных вопросов^_^