2011-01-04 1 views
6

У меня есть требование, в котором мне нужно показать то же окно через некоторое время. Итак, я достиг этого, используя [window setReleaseWhenClose:NO], но теперь проблема в том, что он занимает 2 МБ памяти.Закройте NSWindow и отпустите память, но повторно откройте ее нажатием кнопки

Я хочу, чтобы это было так, что когда я его открываю, он использует 2 МБ памяти, и когда я его закрываю, он освобождает эту память, но все же я должен снова ее открыть.

Если у вас есть какие-либо подсказки, это было бы полезно.

С благодарностью

M.B.

ответ

5

Если вы хотите, чтобы память была выпущена, вы должны открыть окно после закрытия. Если вам это нужно снова, вы всегда можете перезагрузить файл nib. Невозможно сохранить загруженное окно и выпустить память одновременно.

Чтобы упростить управление памятью, вы должны использовать NSWindowController для управления памятью.

Но я бы не стал беспокоиться о 2 МИБ ОЗУ. Сохранение окна в памяти может быть предпочтительнее для его загрузки, когда это необходимо.

+0

Это право. Если вы хотите вернуть память, вы должны ее освободить. Но если у вас нет супер сложного окна, которое действительно требует времени пользователя для загрузки и подготовки, это не должно быть проблемой –

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