object-c 进阶一 【内存管理1】

OC的内存管理有两种机制:
1、MRC 手动管理

2、ARC 自动管理

oc采用了类似于c、c++的内存机制,但是相对于他们先进一些;

oc中的所有对象都继承与NSObject,当创建一个对象的时候,对象指向一个内存地址,当我们把这个对象赋给另一个对象的时候,这时就产生了一次copy,也就是oc中的retain操作,两个对象同时指向一个内存地址,但是在oc中存在一个refrence count的计数器,当产生copy操作的是,refrence count会自动+1,比如我们刚刚将一个对象赋给另一个对象,这时内存空间中的refrence count的长度就是2,说明有两个对象指向了这个内存空间;

当我们要释放一个对象所占用的内存空间的时候,我们执行release操作的是,内存空间中的refrence count就会自动-1,也就是将对象指向内存空间的这个指针delete了;

1、创建项目时,默认的管理方式为ARC(自动)

怎么更改内存管理方式?

点击项目->built settings->all->搜索ARC->将yes改为no

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 11.看下面的程序,第一个NSLog会输出什么?这时str的retainCount是多少?第二个和第三个呢? 为什...
    AlanGe阅读 747评论 1 4
  • iOS内存管理 概述 什么是内存管理 应用程序内存管理是在程序运行时分配内存(比如创建一个对象,会增加内存占用)与...
    蚊香酱阅读 5,760评论 8 119
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,210评论 30 471
  • 一. 内存管理的认识 1.概念的认识 内存管理:一个程序在运行时给其分配内存,程序运行结束释放内存的过程。移动设备...
    DVWang阅读 484评论 0 0
  • 图片为什么是倒过来的
    露子含手绘阅读 311评论 2 3