一 什么是自动释放池?
自动释放池是NSAutoreleasePool的实例,其中包含了收到autorelease消息的对象。当一个自动释放池自身被销毁(dealloc)时,它会给池中每一个对象发送一个release消息。
二 自动释放池何时被创建,又何时被销毁呢?
在主线程中,系统会在事件的开始自动创建,在线程结束时,自动销毁;
在子线程中,需要程序员手动建立和销毁;
三 优点:
节省代码量,提升开发速度。
四 缺点:
它延缓了对象的释放,在有大量自动释放的对象时,会占用大量内存资源。