ドキュメント ベースのアプリケーションを作成しているときに、ARC が有効になっているかどうかに関係なく、ウィンドウを閉じてもメモリ割り当てが減らないことに気付きました。実証するには、Xcode を使用して一般的なドキュメント ベースのアプリケーションを作成するだけです。次に、製品/プロファイルを選択し、リークを選択します...アプリケーションの統計情報がいくつかの新しいウィンドウを開くと、予想されるように、新しいウィンドウごとにメモリ割り当てが増加します。ただし、ウィンドウを閉じても、これらのリソースは解放されません。プロファイラーはこれらをリークとしてタグ付けしません - ウィンドウにはまだアクティブなリソースがあると思いますが、実際には、ユーザーがウィンドウを開いたり閉じたりすると、メモリが消費されます (各ウィンドウに追加のオブジェクトが関連付けられている実際のアプリケーションでは、より急速に消費されます)。私の質問は、Xcode アプリケーションが最終的にこのメモリ プールを解放するかどうかです。または、これらの孤立した閉じたウィンドウは常にメモリを保持しますか? これは問題ですか?
ユーザーが独自のウィンドウコントローラーを作成する非ドキュメントベースのアプリケーションについても同様の質問を見てきました....しかし、コメントがドキュメントベースのモデルに関連しているかエレガントであるかはわかりません http://www.cocoabuilder.com/ archive/cocoa/119250-nswindowcontroller-with-nsobjectcontroller-doesn-dealloc.html