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

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

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


更多:iOS面试题合集

你可能感兴趣的:(iOS面试题:ARC 通过什么方式帮助开发者管理内存?)