iOS笔记—@autoreleasepool

我们知道,release的作用是使对象引用计数-1。autorelease是系统自动在恰当的时候向对象发送一条release消息。

而autoreleasepool是在autorelease的基础上将autorelease对象放入一个pool中,系统会在一个恰当的时候销毁pool,并向pool中的对象发送一条release。

值得注意的是,autoreleasepool销毁的时候并不会保证pool内的对象完全被销毁,它只会向所有的对象发送一次release消息,至于对象挂没挂,它并不在意。因此,当autoreleasepool内对象的引用计数超过1以上的时候,会造成内存泄漏。

猜你喜欢

转载自blog.csdn.net/csdn_hhg/article/details/80494615