2011-01-04 6 views
6

しばらくすると同じウィンドウを表示する必要があります。 だから私は[window setReleaseWhenClose:NO]を使用してそれを達成しましたが、今問題はそれが2MBのメモリを占有し続けているということです。NSWindowを閉じてメモリを解放しますが、ボタンをクリックすると再び開きます

私はそれを開くときに2MBのメモリを使用し、それを閉じるとメモリが解放されますが、それでも私は再び開くことができるはずです。

私に手がかりがある場合は、参考になります。

ありがとう

M.B.

答えて

5

メモリを解放したい場合は、閉じた後にウィンドウを解放する必要があります。再度必要な場合は、常にnibファイルをリロードすることができます。ウィンドウをロードしたままにしておき、同時にメモリを解放する方法はありません。

このメモリ管理を容易にするには、NSWindowControllerを使用してメモリを管理する必要があります。

しかし、2MbのRAMについては心配しません。ウィンドウがメモリに保持されていると、必要なときにウィンドウを再度ロードするほうが望ましい場合があります。

+0

これは正しいです。メモリを元に戻すには、リリースする必要があります。しかし、あなたが負荷をかけて準備するのに目立つ時間を取る超複雑なウィンドウを持っていなければ、これは問題ではないはずです –

関連する問題