博客> Objective-C 内存管理机制
Objective-C 内存管理机制
2018-07-15 05:41 评论:0 阅读:1190 IT喃
ios app 不显示 上架

一、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的需要处理);

收藏
1
sina weixin mail 回到顶部