对象编译器ARC内部工作原理

本文介绍了iOS/Mac开发中ARC(Automatic Reference Counting)的概念及其如何简化内存管理。通过ARC,开发者无需手动添加retain和release语句,由编译器自动完成。ARC包括前端编译器和优化器两部分,分别负责插入释放语句和移除多余操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先声明,我是一个菜鸟。一下文章中涌现技术误导情况盖不负责

    越尽力.越幸福.----willingseal.

    

    

    http://onevcat.com/2012/06/arc-hand-by-hand/手把手教你ARC——iOS/Mac开辟ARC入门和使用

    

    

    

什么是ARC

    Automatic Reference Counting,主动引用计数,即ARC,可以说是WWDC2011和iOS5所引入的最大的变更和最激动人心的变化。

    

    

    

    ARC 会主动帮助你添加 retain 和release/autorelease语句。

    

    ARC编译器分为(1)前端编译器 (2)优化器

    

    

    (1)前端编译器 ----给“具有的”每个对象插入响应的release语句。----某个方法里面创建了一个对象,前端编译器会在方法末尾主动添加release语句销毁它。----类具有的对象(实例变量/属性)在dealloc方法内释放

    

    (2)ARC优化器---当代码中涌现多个对 retain 和release的重复调用,ARC优化器负责移出多余的 retain 和release语句。

    每日一道理
人的生命似洪水奔流,不遇着岛屿和暗礁,难以激起美丽的浪花。

    

    

    

    如果须要持有一个对象,那么对其发送retain 如果以后不再使用该对象,那么须要对其发送release(或者autorealse) 每一次对retain,alloc,copy,mutable copy或者new的调用(主动引用计数+1),一次release或autorealse调用 (主动引用计数-1).

    

    

    

    

文章结束给大家分享下程序员的一些笑话语录: 手机终究会变成PC,所以ip会比wm更加畅销,但是有一天手机强大到一定程度了就会发现只有wm的支持才能完美享受。就好比树和草,草长得再高也是草,时间到了条件成熟了树就会窜天高了。www.ishuo.cn

--------------------------------- 原创文章 By
对象和编译器
---------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值