黑马程序员技术交流社区

标题: 谁能通俗易懂的说说“内存池”? [打印本页]

作者: SSIrreplaceable    时间: 2016-6-23 08:32
标题: 谁能通俗易懂的说说“内存池”?
内存是用于内存管理的,谁能具体说说?
作者: FFFF001    时间: 2016-6-23 18:40
是自动释放池吗? Autoreleasepool?

作者: sc33370    时间: 2016-6-23 19:23
我来解释一下。

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

语法格式:@autoreleasepool

           创建的对象

}对象调用autorelease方法。


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

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

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

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

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

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

用写release。

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



作者: SSIrreplaceable    时间: 2016-6-24 09:37
FFFF001 发表于 2016-6-23 18:40
是自动释放池吗? Autoreleasepool?

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

上面是题目,我想知道内存池是啥?感觉不是自动释放池。
作者: SSIrreplaceable    时间: 2016-6-24 09:38
sc33370 发表于 2016-6-23 19:23
我来解释一下。

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

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

上面是题目,我想知道内存池是啥?感觉不是自动释放池。自动释放池可以理解,就是不清楚内存池和自动释放池是不是一个东西。
作者: ldk1991125    时间: 2016-6-25 09:48
同求知识!
作者: wzg682735    时间: 2016-6-25 11:06
不错的!!
作者: SSIrreplaceable    时间: 2016-6-27 10:27
ldk1991125 发表于 2016-6-25 09:48
同求知识!

求解,百度不好找答案。
作者: SSIrreplaceable    时间: 2016-6-27 10:28
wzg682735 发表于 2016-6-25 11:06
不错的!!

求解,百度查到的都是自动释放池。
作者: SSIrreplaceable    时间: 2016-6-28 08:02
ldk1991125 发表于 2016-6-25 09:48
同求知识!

是啊,就解释




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2