iOS内存分区

  • 栈区(Stack)
    由编译器自动分配释放,存放函数的参数,局部变量,栈是向低地址扩展的数据结构,是一块连续的内存区域。
  • 堆区(Heap)
    由开发者分配与释放,生命周期由开发者管控。如果没有释放,会引发内存泄漏风险。其生命周期需要到进程结束才会释放。
  • 全局区&静态区
    全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后由系统释放。
  • 常量区
    常量字符串就是放在这里的,程序结束后由系统释放。
  • 代码区
    存放函数体的二进制代码。

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