Tekkaman

导航

 

深入剖析AutoreleasePool

  Objc的AutoreleasePool是一个首尾相连的内存链接,每块大小为1页(32位机上为4kb)。

  

  上面可以看到,parent指向父Pool,child指向子Pool,因初始化时无child Pool,所以child被置为NULL。next指向当前内存块中的最大位置,即每个块内是一个4kb的栈。

  通过以下方很容易看出AutoreleasePoolPage如果使用:

  

  当一个AutorreleasePool被释放时,在该pool之后的pool所涵盖的对象均会被释放。

  

posted on 2014-02-16 23:46  Tekkaman  阅读(440)  评论(0编辑  收藏  举报