ARC
2014-11-12 14:03
253 查看
一、 基本简介
Ø ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的retain、release、autorelease语句。你不再需要担心内存管理,因为编译器为你处理了一切Ø ARC 是编译器特性,而不是 iOS 运行时特性,它也不是类似于其它语言中的垃圾收集器。因此 ARC 和手动内存管理性能是一样的,有时还能更加快速,因为编译器还可以执行某些优化
二、 基本原理
1. 规则
ARC 的规则非常简单:只要还有一个强指针变量指向对象,对象就会保持在内存中2. 强指针和弱指针
Ø 默认所有实例变量和局部变量都是Strong指针Ø 弱指针指向的对象被回收后,弱指针会自动变为nil指针,不会引发野指针错误
三、 使用注意
Ø 不能调用release、retain、autorelease、retainCountØ 可以重写dealloc,但是不能调用[super dealloc]
Ø @property : 想长期拥有某个对象,应该用strong,其他对象用weak
Ø 其他基本数据类型依然用assign
Ø 两端互相引用时,一端用strong、一端用weak
相关文章推荐
- Windows XP启动管理器boot.ini中的ARC命名规则
- IOS内存管理 ARC技术概述 .
- iPhone开发之深入浅出 (6) — ARC之对象转型
- Xcode 中设置部分文件ARC支持
- Objective C ARC下的单例模版宏 ARC Singleton template
- Xcode ARC需要什么版本的环境支持
- iOS开发中arc的设置与应用
- iPhone开发之深入浅出 — ARC之对象转型
- IOS内存管理 ARC技术概述 .
- ARC指南2 - ARC的开启和禁止
- iOS中arc的设置与使用(仅供新手参考)
- iOS应用开发:什么是ARC?
- 3-21 为cocos2d工程开启arc
- iOS 5中的ARC和strong和weak关键字
- ARC与非ARC在一个项目中同时使用
- 如何解决使用ARC后出现的PerformSelector may cause a leak because its selector is unknown
- Xcode 中设置部分文件ARC支持
- C#+AO中调用ArcToolbox中自定义的模型
- 对单个文件ARC模式的 设置(添加或取消)
- iPhone ARC 宏定义