在Apple 文档中,它说:
AppKit 和 UIKit 框架处理自动释放池块中的每个事件循环迭代(例如鼠标按下事件或点击)。因此,您通常不必自己创建自动释放池块,甚至不必查看用于创建自动释放池的代码。
现在,这应该很明显,但无论如何我都会要求确认。
如果我正在开发最终将成为后台进程的内容(通过 Grand Central Dispatch),但为简单起见,我首先将其放在第一个加载视图的 viewDidLoad 中,这样我的视图实际上不会显示在屏幕上,直到所有(比如说)2 分钟的处理都完成了,然后在这两分钟内,所有默认的自动释放池都不会被释放,因为它还没有通过事件循环迭代,对吗?听到拒绝简直是疯了,但我陷入了这个日益严重的记忆问题,所以我会要求确认并希望有一个好消息。
如果是这样,我应该放置我自己的自动释放块。如果处理是通过 GCD 在后台进程中完成的,我仍然需要自动释放块,对吗?