黑马程序员开发零基础教程源代码08-内存管理:原理与操作详解.pdfVIP

黑马程序员开发零基础教程源代码08-内存管理:原理与操作详解.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

一、基本原理

ϭ͘么是内存管

➢移动设备的内存极其有限,每个所能占用的内存是有限制的

➢当所占用的内存较多时,系统会发出内存警告,这时得回收一些不需要再使用的内存

空间。比如回收一些不需要使用的对象、变量等

➢管理范围:任何继承了的对象,对其他基本数据类型(、、、、

、等)无效

Ϯ͘对象的基本结构

➢每个对象都有自己的计数器,是一个整数,表示“对象被的次数”,即有多少

人正在使用这个对象

➢每个对象专门有个字节的空间来计数器

ϯ͘引计数器的作用

➢当使用、或者创建一个新对象时,新对象的用数器默认就是

➢当一个对象的计数器值为时,对象占用的内存就会被系统回收。换句话说,如果对

象的计数器不为,那么在整个程序运行过程,它占用的内存就不可能被回收,除非整个

程序已经

ϰ͘引计数器的操作

➢给对象发送一条消息可以使计数器值+1(retain方法返对象本身),用[对

象名retain],表达式返的是对象本身

➢给对象发送一条消息可以使计数器值-1

➢可以给对象发送消息获得当前的计数器值

一、基本原理

ϭ͘么是记忆管

➢移动设备的内存极其有限,每个应用程序的内存都是有限的

➢当应用程序占用大量内存时,系统会发出内存警告,然后回收一些您不需要再次使用的

内存空间。

➢管理:任何继承自NSObject的对象,对其他基本数据类型(int、char、float、

double、struct、enum等)无效

Ϯ͘对象的基本结构

➢每个OC对象都有自己的计数器,它是一个整数,表示“该对象被的次数”,即有

很多人在使用这个OC对象。

ϯ͘引可以器可以

➢使用alloc、new、copy创建新对象时,新对象的默认值为1

➢当对象的计数器值为0时,该对象的内存将不会被系统回收。

ϰ͘引宝器操作

➢给员员名了一条保留消息,可以说说内容器值+1(保留方法返返员员全店),用[对

象名保留],歌词返还的解名名合可以

➢给周学可以发布消息,可以使可以器值‑1

➢可以经周字分合retainCount消息安全的的可以器值

5.对象的销毁

➢当一个对象的计数器值为0时,那么它将被销毁,其占用的内存被系统回收

➢当一个对象被销毁时,系统会自对象发送一条dealloc消息

➢一般会重写dealloc方法,在这里释放相关资源,dealloc就像对象的遗言

➢一旦重写了dealloc方法,就必须调用[superdealloc],并且放在最后面调用

➢不要直接调用dealloc方法

➢一旦对象被回收了,它占用的内存就不再可用,坚持使用会导致程序(野指针错误)

二、Xcode的设置

1.取消ARC

要想手动调用retain、release等方法,在创建项目的时候不要勾选ARC

2.开启僵尸对象

默认情况下,Xcode是不会管僵尸对象的,使用一块被释放的内存也不会报错。为了方便调试,

应该开启僵尸对象

5.对象的破坏

➢当一个对象的计数器为0时,该对象将被销毁,系统内存将被回收

➢当一个对象被销毁时,系统自该对象发送一条dealloc消息

➢会重写dealloc核校,最作通过设计设计,dealloc可的遗言

➢一旦重写了dealloc方法,就师下这些[superdealloc],然后把dealloc的最后面

➢不要直接调用dealloc方法

➢一旦对象被回收,内存就不再可用了,内存就不再可用了。

2.Xcode的设置

1.取消ARC

焊接保留、释放等热度,在剧情项目时间不要勾选ARC

2.设计圠影视学院电视

默认情况下,Xcode不使用僵尸对象的内存。

三、内存管理原则

1.原则分析

➢QQ堂间原理:只要房间还有人在用,就不会解散

➢只要还有人在用某个对象,那么这个

文档评论(0)

136****1820 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档