iOS5 的新功能 ARC Automatic Reference Counting 如何关闭

简介:

在新发布的ios5中,有个很吸引眼球的特性就是“Automatic Reference Counting”,简单来说就是内存自动回收,看起来似乎是平时开发中遇到的各种内存问题的福音,仔细了解了一下,似乎没有那么美好:

1。 需要iOS5才支持
2。 很多引用的类库暂时还不支持.麻烦的是对大多数第三方库需要加禁用arc的编译flag,因为大多都因为兼容性还在使用手动内存管理。

而且当你开启了ARC后, 如果使用传统的手工 release 就是报错 'release' is unavailable: not available in automatic reference counting modeAutomatic Reference Counting forbids explicit message send of 'release'


你可以按照如下方法关闭它  

Xcode 4.2: 点击项目后, 
Build Settings -> Apple LLVM compiler 3.0 - Language -> Objective-C Automatic Referencing Counting, 默认是YES 设置为NO即可。

但实际上 ARC确实比手动释放快,而且不会发生内存泄漏的情况,具体可以参考这里
http://clang.llvm.org/docs/AutomaticReferenceCounting.html
http://stackoverflow.com/questions/6385212/how-does-the-new-automatic-reference-counting-mechanism-work


一篇深入讨论 ARC的文章
http://longweekendmobile.com/2011/09/07/objc-automatic-reference-counting-in-xcode-explained/

   本文转自老Zhan博客园博客,原文链接:http://www.cnblogs.com/mybkn/articles/2381224.html,如需转载请自行联系原作者
相关文章
|
4月前
|
Swift iOS开发 开发者
IOS开发基础知识:什么是 ARC(自动引用计数)?如何工作?
IOS开发基础知识:什么是 ARC(自动引用计数)?如何工作?
47 1
|
iOS开发
iOS解决警告: Attribute Unavailable: Automatic Preferred Max Layout Width before iOS 8.0
前言 优秀的开发者在看到每一个警告当做一个报错去看待、认真去对待解决!在开发中难免都会遇到很多意想不到的警告,但是希望我们每个开发者都能用看待一个问题一样去理解并解决它,只有这样我们才能得到更快的进步。
1047 0
|
iOS开发 编译器 C语言
|
iOS开发 Swift 编译器
iOS夯实:ARC时代的内存管理
iOS夯实:ARC时代的内存管理 什么是ARC Automatic Reference Counting (ARC) is a compiler feature that provides automatic memory management of Objective-C objects. Rather than having to think about retain and release operations [^1] [^1]: Transitioning to ARC Release Notes ARC提供是一个编译器的特性,帮助我们在编译的时候自动插入管理引用计数的代码。
1144 0
|
iOS开发
iOS: ARC & MRC下string内存管理策略探究
ARC & MRC下string内存管理策略探究       前两天跟同事争论一个关于NSString执行copy操作以后是否会发生变化,两个人整了半天,最后写代码验证了一下,发现原来NSString操作没我们想的那么简单,下面就让我们一起看看NSString和NSMutableString在MRC下执行retain,copy,mutableCopy,以及ARC下不同的修饰__weak, __strong修饰赋值究竟发生了什么。
1059 0