Xcode中ARC、MRC以及ARC MRC混编



一、ARC

       ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。

      该机能在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2 可以使用该机能。简单地理解ARC,就是通过指定的语法,让编译器(LLVM 3.0)在编译代码时,自动生成实例的引用计数管理部分代码。有一点,ARC并不是GC,它只是一种代码静态分析(Static Analyzer)工具。

转自http://justcoding.iteye.com/blog/1391548

感兴趣的朋友可以去看看,这里我只是作为笔记,方便自己查看。

二、MRC

        在MRC的内存管理模式下,与对变量的管理相关的方法有:retain,release和autorelease。retain和release方法操作的是引用记数,当引用记数为零时,便自动释放内存。并且可以用NSAutoreleasePool对象,对加入自动释放池(autorelease调用)的变量进行管理,当drain时回收内存。

转自http://blog.csdn.net/fightingbull/article/details/8098133

关于ARC和MRC的相关文档有很多。感兴趣和想要了解的朋友可以自己去查阅。


三、ARC和MRC混编

Xcode 项目中我们可以使用 ARC 和非 ARC 的混合模式。

如果你的项目使用的非 ARC 模式,则为 ARC 模式的代码文件加入 -fobjc-arc 标签。

如果你的项目使用的是 ARC 模式,则为非 ARC 模式的代码文件加入 -fno-objc-arc 标签。

添加标签的方法:

打开:你的target -> Build Phases -> Compile Sources.

双击对应的 *.m 文件

在弹出窗口中输入上面提到的标签 -fobjc-arc / -fno-objc-arc

点击 done 保存


注:这些都是开发时查找到的资料和自己的一些总结,如果看到到相关资料或者继续有其他的总结,也会继续更新。

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

推荐阅读更多精彩内容

  • 内存管理 简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与a...
    丶逐渐阅读 2,026评论 1 16
  • iOS内存管理 概述 什么是内存管理 应用程序内存管理是在程序运行时分配内存(比如创建一个对象,会增加内存占用)与...
    蚊香酱阅读 5,768评论 8 119
  • Cocoa内存管理机制 (1)当你使用new、alloc、copy方法创建一个对象时,该对象的保留计数器值为1.当...
    John_LS阅读 2,821评论 0 6
  • 什么是Automatic Reference Counting? Automatic Reference Coun...
    癫癫的恋了阅读 3,166评论 3 23
  • 美容教学 化妆教学 绣眉教学 经络教学
    SiawHui阅读 142评论 0 0