iOS内存管理

屏幕快照 2018-11-20 下午7.17.02.png

内存布局相关

屏幕快照 2018-11-20 下午7.18.25.png

stack: 方法调用
heap: 通过alloc 等分配的对象
bss: 未初始化的全局变量等
data:已初始化的全局变量等
text: 程序代码

内存管理方案相关

*iOS操作系统怎样对内存进行管理 ??
不同场景使用不同内存管理方案
如:
1、小对象 NSNumber采用 TaggedPointer
2、NONPOINTER_ISA(在64位下 isa占用64位)
3、散列表 (引用计数表 和 弱引用技术表)

NONPOINTER_ISA(非指针型isa )

屏幕快照 2018-11-20 下午7.31.27.png

首先看0-15 位分别代表什么
1: Indexed 标志位 ( 0纯isa指针 1isa指针)
2: 是否有关联对象
3:是否使用c++等语言
4... 存储类对象地址 和内存管理数据

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、内存布局 stack:方法调用 heap:通过alloc等分配对象 bss:未初始化的全局变量等。 data:...
    AKyS佐毅阅读 5,547评论 0 19
  • iOS中内存管理机制是开发中一项很重要的知识,了解iOS中内存管理的规则不管是在开发中还是在学习中都能很大程度的帮...
    Horson19阅读 4,932评论 0 4
  • iOS中内存管理机制是开发中一项很重要的知识,了解iOS中内存管理的规则不管是在开发中还是在学习中都能很大程度的帮...
    Horson19阅读 5,939评论 0 7
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,887评论 1 32
  • 从上图可以看到,栈里面存放的是值类型,堆里面存放的是对象类型。对象的引用计数是在堆内存中操作的。下面我们讲讲堆和栈...
    jackyshan阅读 5,566评论 2 11

友情链接更多精彩内容