在iOS中,内存主要分为栈区、堆区、全局区、常量区、代码区五大区域。 栈区(Stack) 定义
栈是系统数据结构,其对应的进程或者线程是唯一的
栈是向低地址扩展的数据结构
栈是一块连续的内存区域,遵循先进后出(FILO)原则
栈的地址空间在iOS中是以0X7开头
栈区一般在运行时分配
存储
栈区是由编译器自动分配并释放的,主要用来存储
局部变量
函数的参数,例如函数的隐藏参数(id self,SEL _cmd)
优缺点
优点:因为栈是由编译器自动分配并释放的,不会产生内存碎片,所以快速高效
缺点:栈的内存大小有限制,数据不灵活
iOS主线程栈大小是1MB
其他线程是512KB
MAC只有8M