ARC基本原理
来源:互联网 发布:同性电影推荐知乎 编辑:程序博客网 时间:2024/04/24 22:28
基本简介
- ARC是Automatic Reference Counting(自动引用计数器)的简称。
- ARC是ios5.0引入的新特性,完全消除手动管理内存的繁琐,编译器会自动在适合的代码里面插入适当的retain,release,autorelease的语句。我们不要再担心内存管理,因为编译器帮我们做了这一切。
- ARC是编译器的特性,并非运行时的特性,也不是其他编程语言中的垃圾回收器。因此自动管理和手动管理内存其实一样的,但是自动管理更加快速,因为编译器执行某些优化。
基本原理
- ARC的规则就是只要对象没有强指针引用,就会被释放掉,换而言之 只要还有一个强引用指针变量指向对象,那么这个对象就会存在内存中。弱指针指向的对象,会被自动变成空指针(nil指针),从而不会引发野指针错误。
基本使用
- ARC设置如下
- ARC模式下 retain ,release,retainCount 是不能够调用的。
例子1
例子2
dealloc可以重写,但是不能用[super dealloc],编译器会报错。
例子3
例子4
例子5__weak弱指针
注意使用事项
- 循环引用
解决办法:一段用强引用,一段用弱引用。outlet的控件属性都是weak修饰,因为他们已经被父控件强引用。
2.ARC只对OC对象的进行内存管理,对于CoreFundation的api使用,他的对象所有权没有移交给OC对象管理,都需要手动去释放。
文/峥嵘岁月爱吐槽(简书作者)
原文链接:http://www.jianshu.com/p/6ab1f1cd0bb1
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
原文链接:http://www.jianshu.com/p/6ab1f1cd0bb1
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
0 0
- ARC基本原理
- iOS ARC内存管理基本原理
- 内存管理基本原理及非ARC环境使用小心得
- 基本原理
- 基本原理
- 基本原理
- 黑马程序员——ARC的基本原理和@property的使用
- ARC
- ARC
- arc
- ARC
- ARC
- ARC
- ARC
- arc
- ARC
- ARC
- arc
- 10+资深软件架构师谈计算机专业——填高考志愿必读
- Android开发-layout布局相关属性总结
- GDB arm-linux交叉编译移植和使用方法(特别是对于正在运行的程序或者段错误的程序进行分析)
- LeetCode第54题之Spiral Matrix
- iOS适配那些事
- ARC基本原理
- 初学MVP
- Java下载文件,文件名中文乱码问题
- Hibernate环境框架搭建
- HDOJ 3923 Invoker
- 使用 Intel HAXM 为 Android 模拟器加速,媲美真机
- android开发—第一步:android开发环境搭建
- C#/JAVA/PHP 互通DES加解密算法(ECB模式支持8位)
- Problem-F