【发布时间】:2011-09-17 16:39:16
【问题描述】:
我知道在 main 方法中创建了一个自动释放池,所有收到自动释放消息的对象都存储在这个池中,并在池耗尽时被释放。
但人们总是说要避免自动释放对象以避免内存泄漏和应用程序崩溃。
那我们为什么要在什么情况下使用autoreleasepool呢?
Apple 文档建议我们在使用线程时需要使用它们,因此在线程开始时我们需要创建一个自动释放池,并在线程结束时将其排出,但如果我们不创建自动释放对象怎么办在完整的线程中,那么在这种情况下,也有必要在线程的开头创建一个自动释放池。
请消除我的困惑。 谢谢。
【问题讨论】:
标签: objective-c memory-management nsautoreleasepool