栈 ,堆 ,静态区域的区别 南泽1 2020-05-18 275 阅读1分钟 OC中,非对象的变量都存在栈中,对象都存在堆中,静态区域的内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在,主要存放静态数据、全局数据和常量。 栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,当函数执行结束时这些存储单元将自动被释放。栈内存效率高,内存容量有限。 堆区:OC对象存储于堆中,当对象的应用计数为0时自动释放该对象。