IOS内存分区

IOS内存分区_第1张图片

代码区

存放编译后的执行代码

常量区

存放常量字符串,只读。
eg: @"123"

全局区/静态区

分为数据区(已初始化)的和BBS区(未初始化) 两部分。主要存放全局变量和静态变量。
eg:static NSString str2 = @"string"

堆 (heap)

需要自己动态的申请创建、管理、释放内存。大小不固定,内存分配由系统完成。内存地址,由低到高延伸。
eg:函数中定义: [NSMutableArray arrayWithCapacity:1];//分配而来的8字节的区域就在堆中(相当于alloc分配内存)

栈(stack)

由编译器统一管理,包含是在局部变量。内存地址由高到低延伸。
eg:函数中定义:int a

你可能感兴趣的:(iOS,内存分区)