NSZone
来源:互联网 发布:影视制作需要哪些软件 编辑:程序博客网 时间:2024/04/29 03:21
NSZone 是苹果对内存分配和释放的优化方式。NSZone不是一个对象;它是一个难懂的C结构,它被用于记录关于内存处理(管理)一系列对象的信息。NSZone是防止内存碎片化而引入的,可以对内存分配的区域本身进行多重化管理,根据使用对象的目的、对象的大小分配内存,从而提高了内存管理效率。
NSZone可以被视为一个内存池, alloc或是dealloc这些操作,都是在这个内存池中操作的。
使用NSZone,可以在给对象分配内存的时候,可以把关联的对象分配到一个相邻的内存区域内,以便于调用时消耗很少的代价,提升了程序处理速度。
Cocoa透明地管理zone,默认的zone在程序启动和所有对象被分配时创建。
对于标准的(默认的)空间(NSZone),如果要分配的对象很多(比如几百个),那么在一直使用,经过多次释放对象后,必然会产生很多空隙。对于新的对象,分派内存时,分配器(allocator)会优先使用那些空隙,但是如果空隙比较多而且都比较小的话,那么就比较浪费时间了。这时,用户可以创建自己的空间(NSZone),并且告诉它不用去为了帮新对象分配内存而去查询那些空隙。现在,分配器每次都能够直接跳到内存分配的末尾去分配内存。
NSZone也能节省你释放内存的时间,它有方法释放大量分配的内存,而不打扰释放器(deallocators)。如果用一个集合(set)包含一系列对象,这样能够节省时间,你可以一次释放它们而不用去乏味地一个个释放它们。
0 0
- NSZone
- NSZone
- NSZone
- NSZone
- NSZone
- IOS NSZone
- NSZone理解
- -(id)copyWithZone:(NSZone *)zone
- NSZone不是个对象
- OC--copyWithZone:(NSZone *)zone
- iOS NSZone 相关介绍,中文版
- iOS NSZone 相关介绍,中文版
- IOS学习笔记之NSZone
- iOS开发之关于NSZone
- NSObjCRuntime, NSZone, NSObject报错Unknown
- iOS开发-关于allocWithZone/copyWithZone/NSZone
- iOS 引用C++ 引起NSObjCRuntime, NSZone, and NSObject报错
- os - Parse Issues in NSObjCRuntime, NSZone, and NSObject
- alert(JSON.stringify(array))
- 技术练级攻略
- 阮一峰的es6教程,记录下来,仅作备忘
- 二叉树的镜像
- MySql优化
- NSZone
- 九宫格的计算
- iOS之 网络连接监测框架 Reachability
- 弱智dp----路径问题
- 生产者消费者 & 读者写者
- Android 简单的适配问题
- 北航OJ-2014级第2次算法上机题解
- Oscache缓存总结
- 第147课: Spark面试经典系列之Shuffle的性能调优问题