关闭NSWindow并释放内存,但只需按一下按钮即可重新打开它

时间:2011-01-04 07:07:24

标签: objective-c cocoa macos nswindow

我有一个要求,我需要在一段时间后显示相同的窗口。 所以我用[window setReleaseWhenClose:NO]实现了它,但现在问题是它一直占用2MB的内存。

我希望这样,当我打开它时,它使用2MB的内存,当我关闭它时释放内存,但我仍然可以重新打开它。

如果你有任何线索,那将会有所帮助。

谢谢

M.B。

1 个答案:

答案 0 :(得分:5)

如果要释放内存,则必须在关闭后释放窗口。如果您再次需要它,您总是可以重新加载nib文件。没有办法保持窗口加载并同时释放内存。

为了简化内存管理,您应该使用NSWindowController来管理内存。

但我不担心2 MiB的RAM。将窗口保留在内存中可能比在需要时再次加载窗口更好。