如何解决什么是NSZone?使用initWithZone有什么优点?
| 有很多功能,例如 1. NSDefaultMallocZone() 2. NSCreateZone(); 3. NSRecycleZone(); 4. NSSetZoneName(); 5. NSZoneMalloc(); 还有更多与NSZone相关的 NSZone是什么意思,在哪里以及何时使用这些功能? initWithZone:有什么优点?如何在我的iPhone应用程序中使用?解决方法
NSZone是Apple的优化方式
对象分配和释放。 NSZone
不是对象它是不透明的
C结构存储有关如何
内存应该处理一组
对象。
很少有人需要担心
处理您自己的区域
应用;可可处理
透明地。默认的NSZone是
在启动时创建的所有对象
默认为在此分配。所以
您为什么要使用自己的?
如果您要大量分配数百个
便宜的东西,你可能会发现成本
实际为他们分配空间
变得重要。因为
一直使用标准区域
会变得非常斑驳;已删除
物体可能会留下尴尬的空隙
整个记忆。分配器
标准的NSZone知道这一点,并且它
尝试优先填补这些空白
夺取更多的内存
系统,但这可能会花费大量时间
如果区域已变得很大。
如果您想大量分配对象,
然后,您可以创建自己的区域
告诉它不要去寻找
放置新物体的间隙。
分配器现在可以跳到
每次分配的内存
快速为您的新内存分配内存
对象,节省了大量的精力。
分配器可以节省您的时间
在其他地方也一样,例如要求操作系统
更多的内存,区域需要做的
每当它充满时,是另一个
如果执行很多,则操作成本很高。
更快地要求大块
一次的内存容量,您可以知道
您的NSZone也可以在这里做什么。
有传言说NSZone可以拯救
你在旧时代释放时间
天也可以用一种简单的方法
丢掉所有分配的内存
不用打扰
解除分配器。如果一组对象是
独立的,这可以节省很多
时间,因为你可以把它们全部
一次又一次无聊地离开
全部取消分配。 there,那边
似乎没有这个天赐的迹象
在当前文档中;的
单个NSZone方法(NSRecycleZone?)
小心地将所有对象放在
在默认NSZone上整齐地分区。不
完全节省了时间。
因此,总而言之,区域可以节省您的时间
大量分配。但是只有
程序员知道如何使用它们!
从CocoaDev
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。