美文网首页
MRC内存管理

MRC内存管理

作者: MarkTang | 来源:发表于2016-01-09 00:50 被阅读69次

//只要创建一个对象默认引用计数器的值就加一、
Person *p = [[Person alloc]init];
NSLog(@"retainCount = %lu",[p retainCount]);
//只要给一个对象发送一个retain消息,对象的引用计数器就会加一
[p retain];
NSLog(@"reatinCount = %lu",[p retainCount]);

    //通过指针变量P,给p指向的对象发送一条release消息
    //只要对象接收到release消息,引用计数器就会-1
    //只要一个对象的引用计数器为0,系统就会释放对象
    [p release];
    //需要注意的是:release仅仅代表引用计数器-1,不代表销毁/回收对象
    [p release];//0

//问题1:什么是堆?什么是栈?

对象存放在堆里面,系统不会自动释放,需要程序员手动释放
栈里面存了变量,系统会自动释放

栈(操作系统):由操作系统自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈(先进后出);

堆(操作系统):一般由程序员分配释放,若程序员不释放,程序结束时可能由系统回收,分配方式类似于链表。
//问题2:什么是内存管理?
答:
由于手机内存有限,所以
分配内存 : 比如创建一个对象, 会增加内存占用
清除内存 : 比如销毁一个对象, 能减小内存占用

//问题3:内存管理的本质是什么?
答:
释放堆里面不使用的对象

OC对象存放于堆里面
非OC对象一般放在栈里面(栈内存会被系统自动回收)

相关文章

  • iOS MRC 内存管理的基本原则

    iOS MRC 内存管理的基本原则iOS MRC 内存管理的基本原则

  • iOS面试题-第一页

    1.简述OC中内存管理机制. 答:内存管理机制:使用引用计数管理,分为ARC和MRC,MRC需要程序员自己管理内存...

  • iOS面试 | 基础知识 | <1>

    1.简述OC中内存管理机制 答:内存管理机制:使用引用计数管理,分为ARC和MRC,MRC需要程序员自己管理内存,...

  • iOS内存管理总结(ARC/MRC)

    MRC原理 MRC: 手动管理内存(retain, release, autorelease,不多说) 持有对象,...

  • 最新版本iOS内存管理

    IOS 内存管理 1.MRC(人工引用计数),手动管理内存。 MRC模式下,所有的对象都需要手动的添加retain...

  • OC - OC的内存管理机制

    导读 一、为什么要进行内存管理 二、内存管理机制 三、内存管理原则 四、MRC手动内存管理 五、ARC自动内存管理...

  • MRC、ARC内存管理机制

    MRC、ARC内存管理机制?(为什么要进行内存管理, 内存管理的范围和对象, 内存管理的原理) ** (为什么)...

  • iOS面试常问的知识点

    内存管理方面(ARC、MRC、autorelease、autoreleasepool,简单粗暴的说一说内存管理) ...

  • 11-AutoreleasePool实现原理上

    我们都知道iOS的内存管理分为手动内存管理(MRC)和自动内存管理(ARC),但是不管是手动内存管理还是自动内存管...

  • ARC与MRC

    1. Objective-c语言中的MRC(MannulReference Counting) 在MRC的内存管理...

网友评论

      本文标题:MRC内存管理

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