ARC总结
来源:互联网 发布:成都php找工作很难 编辑:程序博客网 时间:2024/05/22 15:11
1.什么是ARC
在ARC之前的MRC方式中,程序员需要手动地键入代码来管理对象的生命周期(主要是正确地销毁对象)。在ARC方式中,由编译器来辅助插入管理对象生命周期的代码,减少了开发工作量并提高了程序的健壮性。
ARC是编译时特性,不是垃圾回收
2.引用计数
oc对象在内存中以结构体的形式存储,结构体中有一个字段refrenceCount(引用计数)用来表示该对象被持有的次数,如果该对象被新的引用持有,则count +1,如果一个引用失效,则count -1,当count数为零的时候 调用dealloc方法来销毁对象。
3.ARC的修饰符
__strong:
修改符默认为__storng。当strong的变量引用某对象时,该对象被retain一次,当strong变量失效时(超出作用域或不在引用某对象),该对象被release一次
__weak:
被weak修饰的变量在引用对象时,对象不retain,引用失效时,对象也不release。有一点特殊的地方是,如果某个对象被销毁时,所有指向它的weak变量都会被置为nil(__unsafe__unretain则不会),这个技术叫做zero weak pointer,它增加的程序的健壮性。
__autoreleasing:
当引用被autoreasing修饰时,编译器会插入autoRelease方法。所以在autoRelease pool销毁时,该对象会调用release方法
4.循环引用
如果程序中存在循环引用,就会导致循环引用中的对象无法被释放,导致内存泄漏。
0 0
- ARC(七):ARC总结
- ARC总结
- ARC总结
- ARC总结
- ARC总结
- ARC总结
- ARC 总结
- ARC总结
- ARC 学习总结
- iOS ARC Property 总结
- iOS ARC使用总结
- iOS arc总结
- ARC使用总结
- 【ios】(ARC) 使用ARC的注意事项总结
- 内存管理总结-ARC和非ARC
- ARC的使用简要总结
- ARC内存管理原则总结
- OC中的ARC机制总结
- python matplotlib 中文显示参数设置
- linux生成.so,查找编译问题之杂文
- canvas-图像放大镜
- Error:(1, 1) 错误: 非法字符: \65279
- 重新认识java(七) ---- final 关键字
- ARC总结
- Xcode8 制作.a静态库和存放xib和图片的.bundle
- 简易rest接口调试工具
- Expandablelistview 简单使用
- 使用idea+springboot+Mybatis搭建web项目
- WebP 探寻之路
- Java并发编程:如何创建线程?
- P1094 纪念品分组
- 类的静态成员