问题
- 如何申请 如何管理
- 在提高内存碎片做了哪些操作
- 有什么缺点以及改进的地方
- 每一步都是什么意图?
内存设计
分层
- heap
a. 从os申请大块内存
b. 处理大块内存的申请
c. 管理大块内存 - central
a. 从heap 获取大块内存
b. 按size class 提供内存 - cache
从 central 获取内存块,为当前线程提供无锁的快速分配
回收之两次平衡
第一次平衡: 从cache thread 还到 中间部分, 供其他thread使用
第二次平衡: 从中间部分还到 heap,供其他中间部分使用
注意: 回收只是覆盖数据。