在创建基于文档的应用程序时,我注意到关闭窗口时内存分配不会减少 - 无论是否启用了 ARC。为了演示,只需使用 Xcode 创建一个基于通用文档的应用程序。然后选择产品/配置文件并选择泄漏...当您的应用程序统计信息打开几个新窗口时 - 正如人们所期望的那样,每个新窗口的内存分配都会增加。但是,如果您关闭窗口,这些资源不会被释放。探查器不会将这些标记为泄漏 - 我假设窗口仍然具有活动资源,但是当用户打开和关闭窗口时,内存将被有效消耗(对于每个窗口都有与之关联的其他对象的实际应用程序来说,速度要快得多. 我的问题是——Xcode 应用程序最终会释放这个内存池吗?还是这些孤立的关闭窗口总是会保留内存?这是一个问题,还是没有?
我已经看到用户创建自己的窗口控制器的非基于文档的应用程序的类似问题......但我不确定这些评论是否与基于文档的模型相关或优雅 http://www.cocoabuilder.com/存档/可可/119250-nswindowcontroller-with-nsobjectcontroller-doesn-dealloc.html