标签: cocoa memory-management autorelease appkit
我很难理解在AppKit应用程序中创建和发布自动释放池的确切时间。
例如,如果我有一个覆盖init的ApplicationController类,是否有一个自动释放池在它启动之前被创建并在它结束后被耗尽?
答案 0 :(得分:1)
AppKit应用程序中的主线程运行NSRunLoop来处理事件。 NSRunLoop每次处理新事件(或计时器)时都会创建一个新的自动释放池,并在控制流返回NSRunLoop后将其耗尽。所以从本质上讲,每次通过运行循环都有一个新的自动释放池。