自动释放池

自动释放池的主要底层数据结构是:__AtAutoreleasePool、AutoreleasePoolPage

调用了autorelease的对象最终都是通过AutoreleasePoolPage对象来管理的

源码分析

clang重写@autoreleasepool

objc4源码:NSObject.mm

image

所有的AutoreleasePoolPage对象通过双向链表的形式连接在一起

image

你可能感兴趣的:(自动释放池)