内存碎片用来描述一个系统中不可用的空闲内存。减少内存碎片的产生可以有效增强嵌入式系统稳定性。
内存分配浪费内存主要分额外开销,内部碎片,外部碎片。 内部碎片是在动态开辟内存时大小四舍五入而产生的多余空间;外部碎片指已经分配内存块之间出现未被使用的差额。在嵌入式系统中外部碎片是编程过程中不可小瞧的敌人。
避免内部碎片的部分解决方式: (1)少用动态内存分配的函数(尽量使用栈空间)。
(2)分配内存和释放内存尽量在同一个函数。
(3)尽量一次性申请较大的内存,而避免反复申请小内存(减少内存分割)。
(4)自行设计内存池管理内存。