美文网首页
Objective-C 内存管理机制

Objective-C 内存管理机制

作者: 管乐_VICTOR | 来源:发表于2017-10-16 11:24 被阅读90次

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

    相关文章

      网友评论

          本文标题:Objective-C 内存管理机制

          本文链接:https://www.haomeiwen.com/subject/islkuxtx.html