iOS的内存5大区

2020-10-09  本文已影响0人  CyberDunk1997

1. 内存中的五大区域

  1. 栈:存储局部变量,当其作用域执行完毕之后,就会被系统立即收回
  2. 堆:存储OC对象,手动申请的字节空间,需要调用free来释放
  3. BSS段:未初始化的全局变量和静态变量,一旦初始化就会从BSS段中回收掉,转存到数据段中
  4. 数据段:存储已经初始化的全局变量和静态变量,以及常量数据,直到结束程序时才会被立即收回
  5. 代码段:代码,直到结束程序时才会被立即收回

什么是类加载?

一个对象在内存中的存储

一个对象在内存中的存储

2. 为什么有堆和栈?

App占用手机内存的行为有:

  1. 创建一个OC对象
  2. 定义一个变量
  3. 调用一个函数或者方法
  4. 内存管理的范围和原因:

只有OC对象需要内存管理,基本数据类型不需要进行数据管理

上一篇 下一篇

猜你喜欢

热点阅读