更多源码分析请访问:LVGL 源码分析大全
1、概述
LVGL采用的内存分配器是使用的tlsf算法
。因为这个算法只是一个实时系统常用的算法,可以看作是一个工具,对LVGL本身并没有逻辑上的关联,所以这里只介绍一下算法的基本知识,就不过多分析源码实现了。如果有想了解该算法的,可以再找找相关实现原理。
2、算法特点
- malloc、free、realloc、memalign 的成本为 O(1)
- 每次分配的开销最低为4字节
- 低碎片化
- 代码量少,只有几KB
- 支持动态添加或者删除内存池区域
3、同类型算法举例
- dlmalloc
dlmalloc是目前一个十分流行的内存分配器,其由Doug Lea从1