Objective-C 内存管理机制

一、Objective-C 内存管理的对象
1、内存管理的对象主要有两类:
①基本数据类型:int 、float、 struct 等。
②引用类型:继承自NSObject类的所有OC对象。
第一种基本数据类型不需要我们管理,第二种需要管理。
2、管理内存的原理:
①值类型一般都会被放入栈中(先进后出),引用类型会被放到堆中,当给对象分配内存空间时,会随机从内存当中开辟空间,对象和对象之间可能会存在很多碎片,这些碎片空间需要我们管理。
②栈内存从性能上来说优于堆内存,数据量过大的时候,我们会把数据存入堆中,然后在栈中存放堆的地址,这样调用数据的时候,就可以快速的通过栈中的地址拿到堆中的数据。
③装箱:把int等包装成NSNumber(会降低性能);
拆箱:把NSNumber转化为float等 (注意类型错误时候的安全性问题);
装箱和拆箱会增加代码的运行时间,降低代码可读性,影响性能。
二、内存管理方式
主要是MRC和ARC管理方式;
三、MRC与ARC混编
在ARC项目中,对MRC文件可以添加 -fno-objc-arc标识;在MRC中,对ARC的文件可以添加 -fobjc-arc 的标识。(或者可以把MRC文件转为ARC,现在多用ARC,但是有些第三方框架还是MRC的需要处理);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值