自动释放池的主要底层数据结构是:__AtAutoreleasePool、AutoreleasePoolPage
调用了autorelease的对象最终都是通过AutoreleasePoolPage对象来管理的
源码分析
clang重写@autoreleasepool
objc4源码:NSObject.mm
image
所有的AutoreleasePoolPage对象通过双向链表的形式连接在一起
image
自动释放池的主要底层数据结构是:__AtAutoreleasePool、AutoreleasePoolPage
调用了autorelease的对象最终都是通过AutoreleasePoolPage对象来管理的
源码分析
clang重写@autoreleasepool
objc4源码:NSObject.mm
所有的AutoreleasePoolPage对象通过双向链表的形式连接在一起