文档章节

OC中的内存管理(MRC)-单个对象

AppleDream
 AppleDream
发布于 2016/03/29 10:49
字数 308
阅读 13
收藏 0

OC中只要继承了NSObject的,都要进行内存管理;在谈单个对象内存管理的时候需要明白几个概念。

第一个:计数器;新建一个对象,计数器就为1,使用retain,计数器就加一,使用release,计数器就减一,有一个叫retainCount,通过它查询当前的计数器,有时候是不准确的,验证也是比较简单,将计数器减少为0,重写delloc方法,将retainCount的值打印出来,做比较就可以。

第二个:野指针;当一个对象被释放的时候,原先的指针还指向这个对象的时候叫野指针,这个对象又被叫做僵尸对象(zombie);野指针访问僵尸对象时会报错;提供一个可行的解决的方式:空指针,将nil赋值给野指针。

明白前两点里面的一些概念,对于单个对象释放内存,即将计数器的值清为0,所以,有一个retain,就要一个release。

如有错误,欢迎指出。

© 著作权归作者所有

AppleDream
粉丝 9
博文 92
码字总数 26198
作品 0
昆山
程序员
私信 提问
【iOS】ARC-MRC下的单例及其应用

单例的应用十分普遍,单例模式使一个类只有一个实例。 *易于供外界访问. *方便控制实例个数,节约系统资源. *OC中的常见单例: 如:UIApplication, NSNotificationCenter, NSUserDefaults, NS...

xn4545945
2014/07/09
0
0
iOS中内存管理的坑

case 1 : 使用CIContext作为全局对象。渲染时一直报错。错误代码如下: cicontextError 原因:项目使用MRC,需要手动管理部分对象内存,由于OC中一般对象初始化后系统内部会自行retain,如NSS...

__小___东邪___
2017/08/22
0
0
OC-基础总结(二)

OC基础总结 重新回过头看这些基础知识,对许多知识点都有新的认识,拥有坚实的基础才能更快的成长。 OC内存管理 - 基础与MRC 内存管理概述 内存管理 内存的作用:存储数据。 1). 如何将数据存...

xx_cc
2017/05/01
0
0
OC中内存管理(ARC)--注意点及单个对象处理

第一:知道一个项目是ARC的还是MRC的,除了项目设置里可以看,还有一点就是:ARC是允许写一些MRC的retain与release包括autorelease的。 第二:了解两个概念,强指针与弱指针 Person *p=[[Pe...

AppleDream
2016/04/01
37
0
OC内存管理(ARC)--多对象内存管理

//首先来说说MRC中的内存管理 //第一:当对象A引用一个对象B,你得对这个对象B retain ,retain在@property中 //第二:当A不引用时,你要release,当时举得人和狗两个对象做的例子 ,rel...

AppleDream
2016/04/02
30
0

没有更多内容

加载失败,请刷新页面

加载更多

哪些情况下适合使用云服务器?

我们一直在说云服务器价格适中,具备弹性扩展机制,适合部署中小规模的网站或应用。那么云服务器到底适用于哪些情况呢?如果您需要经常原始计算能力,那么使用独立服务器就能满足需求,因为他...

云漫网络Ruan
今天
10
0
Java 中的 String 有没有长度限制

转载: https://juejin.im/post/5d53653f5188257315539f9a String是Java中很重要的一个数据类型,除了基本数据类型以外,String是被使用的最广泛的了,但是,关于String,其实还是有很多东西...

低至一折起
今天
23
0
OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
11
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
9
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部