揭开ARC的神秘面纱系列-第3话
“揭开ARC的神秘面纱系列”的这篇续集全都是关于@autoreleasepool这一新指令的。LLVM提及到autorelease pools(自动释放池)的语义已经在LLVM3.0版本中发生变化,尤其是,我觉得探究ARC模式更新之后是如何实现的会很有意思。
“揭开ARC的神秘面纱系列”的这篇续集全都是关于@autoreleasepool这一新指令的。LLVM提及到autorelease pools(自动释放池)的语义已经在LLVM3.0版本中发生变化,尤其是,我觉得探究ARC模式更新之后是如何实现的会很有意思。
以下是正文:
写完第一篇关于揭开ARC神秘面纱的博客,我想和大家分享另外一些有趣的片段。这一次我好奇当你通过函数返回一个存在数组中的对象时会发生什么。非ARC模式,你可能会对这个对象retain一次再返回一个自动释放的对象。ARC模式下,我们虽然可以免去这些内存管理的操作,但还是不放心,觉得别扭。因此,我决定检测一下ARC是否做到位了。
这个系列一共有四篇博客,是Matt Galloway大神关于ARC的内部实现的一些探索,看完之后觉得收获不少。因此尝试着翻译出来和大家分享,一定会翻译不当之处,希望大家及时指正。
原文地址
以下是正文:
在Twitter上和@jacobrelkin进行了一次交流之后,我决定写几篇博客关于ARC在神秘的面纱之下是如何运转和如何窥视其内部机制的方法。这篇博客我将解释ARC如何处理retain、release和autorelease这三个关键字对应的内部实现。