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

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

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


更多:iOS面试题合集

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ARC 在代码编译时,自动的向代码中插入retain和release,完成了对象的引用计算加减。在运行时,通过对w...
    natewang阅读 1,122评论 1 1
  • 内存管理 简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与a...
    丶逐渐阅读 2,033评论 1 16
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,172评论 1 32
  • 内存管理ARC处理原理ARC是Objective-C编译器的特性,而不是运行时特性或者垃圾回收机制,ARC所做的只...
    阳明AI阅读 377评论 0 3
  • 在我以前的篇章里曾经讲过诺木洪地名的由来。诺木洪~蒙古语是“温顺、美好地方的意思”,用在地名就是“水草丰美的好...
    诺兰齐阅读 4,572评论 6 2