iOS面试题:ARC 通过什么方式帮助开发者管理内存?

字数 171阅读 901

ARC 相对于 MRC,不是在编译时添加 retain/release/autorelease 这么简单。应该是编译期和运行期两部分共同帮助开发者管理内存。

在编译期,ARC 用的是更底层的 C 接口实现的 retain/release/autorelease,这样做性能更好,也是为什么不能在 ARC 环境下手动 retain/release/autorelease,同时对同一上下文的同一对象的成对 retain/release 操作进行优化(即忽略掉不必要的操作);ARC 也包含运行期组件,这个地方做的优化比较复杂,但也不能被忽略。


更多:iOS面试题合集

推荐阅读更多精彩内容

  • ARC 在代码编译时,自动的向代码中插入retain和release,完成了对象的引用计算加减。在运行时,通过对w...
  • 内存管理 简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与a...
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
  • 内存管理ARC处理原理ARC是Objective-C编译器的特性,而不是运行时特性或者垃圾回收机制,ARC所做的只...
  • 过去的甜蜜 曾偷偷涌入我的心窝 似云的留痕,浪的柔波 似水的映影,风的轻歌 可是终究错过你,失去你。