【深入剖析AutoreleasePool】
Objc的AutoreleasePool是一个首尾相连的内存链接,每块大小为1页(32位机上为4kb)。
上面可以看到,parent指向父Pool,child指向子Pool,因初始化时无child Pool,所以child被置为NULL。next指向当前内存块中的最大位置,即每个块内是一个4kb的栈。
通过以下方很容易看出AutoreleasePoolPage如果使用:
当一个AutorreleasePool被释放时,在该pool之后的pool所涵盖的对象均会被释放。