我知道在 main 方法中创建了一个自动释放池,所有收到自动释放消息的对象都存储在这个池中,并在池耗尽时被释放。
但人们总是说要避免自动释放对象以避免内存泄漏,从而避免应用程序崩溃。
那么为什么以及在什么情况下我们应该使用 autoreleasepool 呢?
Apple 文档建议我们在使用线程时需要使用它们,因此在线程开始时我们需要创建一个自动释放池,并在线程结束时将其排出,但是如果我们没有完全创建自动释放对象怎么办那么在这种情况下,线程也有必要在线程的开头创建一个自动释放池。
请清除我的困惑。谢谢。