读书人

关于IOS_SDK5.0_ARC(Automatic Refere

发布时间: 2012-08-31 12:55:03 作者: rapoo

关于IOS_SDK5.0_ARC(Automatic Reference Counting)得使用与管理
了解在Objective-C自动引用计数
自动引用计数(ARC),在很大程度上消除了手动内存管理的负担,更不用提追查泄漏或过度释放对象引起的错误的苦差事!尽管迷死ARC不会让你完全忽略内存管理。

创建与运行,以下几步:
1、引用内存计数,快速修改?
2、自动引用计数如果工作?
3、如果在项目中使用ARC?
4、新规则执行ARC?
5、ARC Qualifiers-声明属性?
6、ARC Qualifiers-普通变量?
7、现有项目,转移、添加ARC?
8、包含代码不与ARC兼容?
9、自己应该使用ARC?

在没有使用ARC之前都是手动保留\释放对象,当需要使用一个对象而该对象又被我们释放了,这时会出现内存泄漏的事故.

从 XCode 4.2 开始 Objective-C 支持 ARC,不用面对满屏 [obj release] 和 [pool drain] 重要的是不用整天为对象释放问题搞得寝食难安。但对于许多从 C++ 转到 ObjC 的开发者来说,其实更喜欢 Obj-C++ 混编。Cocoa 负责界面展现,C++ 负责业务逻辑实现,组合起来十分完美。

问题是 Obj-C++ 能否完美支持 ARC 呢,特别是把 ObjcC 对象放入 STL 容器的情形下能否正常工作?答案是肯定的!

这一特性为你节省了大部分管理内存的时间,但是仍然需要管理你的类其它对象的引用。
手动分配,初始化,释放

NSObject *obj = [[NSObject alloc] init];[obj release];


自动释放池
-(NSObject*) someMethod {  NSObject *obj = [[[NSObject alloc] init] autorelease];  return obj; //由自动释放池进行回收}

ARC是一个预编译的步骤,为你的代码增加了保留/释放/自动释放语句。

读书人网 >操作系统

热点推荐