A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

内存是用于内存管理的,谁能具体说说?

9 个回复

正序浏览

是啊,就解释
回复 使用道具 举报

求解,百度查到的都是自动释放池。
回复 使用道具 举报

求解,百度不好找答案。
回复 使用道具 举报
不错的!!
回复 使用道具 举报
同求知识!
回复 使用道具 举报
sc33370 发表于 2016-6-23 19:23
我来解释一下。

自动释放池:存入到自动释放池中的对象,在自动释放池被销毁的时候,会自动调用存储在该自 ...

Objective-C如何对内存管理的,说说你的看法和解决方法?
答:Objective-C的内存管理主要有三种方式ARC(自动内存计数)、手动内存计数、内存池。

上面是题目,我想知道内存池是啥?感觉不是自动释放池。自动释放池可以理解,就是不清楚内存池和自动释放池是不是一个东西。
回复 使用道具 举报
FFFF001 发表于 2016-6-23 18:40
是自动释放池吗? Autoreleasepool?

Objective-C如何对内存管理的,说说你的看法和解决方法?
答:Objective-C的内存管理主要有三种方式ARC(自动内存计数)、手动内存计数、内存池。

上面是题目,我想知道内存池是啥?感觉不是自动释放池。
回复 使用道具 举报
我来解释一下。

自动释放池:存入到自动释放池中的对象,在自动释放池被销毁的时候,会自动调用存储在该自动释放池中所有对象的release方法。

语法格式:@autoreleasepool

           创建的对象

}对象调用autorelease方法。


使用自动释放池的注意点:

1,只有在自动释放池中,调用对象的autorelease 方法,这个对象才会存储到释放池之中。

2,调用对象的autorelease方法,这句代码一定放在池子中。

3,自动释放池结束的时候,仅仅是对存在自动释放池中的对象发送一条release消息,而不是销毁对象。

4,一个自动释放池中只autorelease一次,只能将这个对象释放1次,否则会出现僵尸对象的错误。

5,将对象存储到自动释放池,并不会使对象的引用计数器+1,其好处是;创建对象将对象存储在自动释放池,就不

用写release。

6,自动释放池可以嵌套。


回复 使用道具 举报
是自动释放池吗? Autoreleasepool?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马