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... 存储类对象地址 和内存管理数据

你可能感兴趣的:(iOS内存管理)