OC ARC与MRC
来源:互联网 发布:linux 目录权限 最大 编辑:程序博客网 时间:2024/04/28 11:39
Objective-C提供了三种内存管理方式:
1、MannulReferenceCounting(MRC,手动管理,在开发iOS4.1之前的版本的项目时我们要自己负责使用引用计数来管理内存,比如要手动retain、release、autorelease 等,而在其后的版本可以使用ARC,让系统自己管理内存。)
2、automaticreference counting(ARC,自动引用计数,iOS4.1 之后推出的)
3、garbagecollection(垃圾回收)。iOS不支持垃圾回收; ARC作为苹果新提供的技术,苹果推荐开发者使用ARC技术来管理内存;
内存管理的原理:
对象的引用计数器:
每个OC对象都有自己的引用计数器,是一个整数,表示对象被引用的次数。当对象一创建时,默认的计数器值为1;
当对象的引用计数器的值为0时,则对象被销毁,这个对象所对应的内存将被释放
手动管理内存, 可以简称MRC (Manual ReferenceCounting)
Automatic ReferenceCounting,自动引用计数,即ARC,可以说是WWDC2011和iOS5所引入的最大的变革和最激动人心的变化。ARC是新的LLVM3.0编译器的一项特性,使用ARC,可以说一举解决了广大iOS开发者所憎恨的手动内存管理的麻烦。
在工程中使用ARC非常简单:只需要像往常那样编写代码,只不过永远不写retain,release和autorelease三个关键字就好~这是ARC的基本原则。
当ARC开启时,编译器将自动在代码合适的地方插入retain,release和autorelease,而作为 开发者,完全不需要担心编译器会做错(除非开发者自己错用ARC了)。
ARC与其他语言的”垃圾回收”机制不同。ARC:编译器特性;“垃圾回收”运行时特性
mrc,手动管理;如果mrc内存不释放就会出错,调用一次对象就要 调用[xx release]来释放对象,[xx release]要写在调用对象的后面,重写dealloc方法在控制台中可查看对象是否释放完毕。 也可以使用[xx autorelease] 来释放对象。
arc,自动引用计数管理;
开发中如何使用:开发中尽量使用arc。
- OC ARC与MRC
- 02-OC中的ARC与MRC
- OC内存管理 MRC与ARC
- OC中的MRC与ARC机制
- ARC与MRC转换
- ARC与MRC
- ARC与MRC混编
- ARC 与 MRC 混编
- ARC 与 MRC 混编
- ARC与MRC
- OC内存管理--MRC&ARC
- OC的内存管理方式----MRC & ARC
- oc的MRC和ARC的区别
- ARC与MRC的混编
- iOS开发-ARC与MRC
- 内存管理与ARC、MRC
- ARC与MRC使用总结
- iOS-ARC与MRC混编
- 基于spring注解,泛型的使用
- C语言字符检测函数
- Goal: Law
- AFNetwork 2.0在请求时报错code=-1016 和 3840
- spring-org.springframework.beans.factory.BeanDefinitionStoreException及相关介绍
- OC ARC与MRC
- extern "c"用法解析
- QING:免费好用的文本浏览器,爬虫模块
- 一次就好之OCR哪能一次就好
- 安卓 涟漪效果 超出边界和不超出边界
- Android studio进行百度地图开发时,获取SHA1的方法
- 工程师表白神器--炫彩心形DIY
- 【PAT】1094. The Largest Generation (25)
- vs生成失败不报错