[分享源码] 高效内存池;动态内存池|单元内存池
Posted 精易论坛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[分享源码] 高效内存池;动态内存池|单元内存池相关的知识,希望对你有一定的参考价值。
界面截图: | |
---|---|
是否带模块: | - |
备注说明: | - |
本帖最后由 小白熊 于 2019-8-18 14:46 编辑 介绍 模块提供2个类,包括 单元内存池、动态内存池;使用内存池能极大的提高内存分配效率,并且能相应减少系统内存碎片。 -------- 单元内存池 单元内存池是以一个固定的单元长度为分配内存长度的内存池,只能分配固定长度的内存;单元内存池具有效率极高,消耗少,内存碎片少的特点。 - 动态内存池 动态内存池支持不固定长度的内存分配,相同,动态内存池也效率极高,并且此动态内存池在归还内存块时会空闲内存合并,以左右探查方式合并空闲内存,此方式极大的加速了分配内存效率,并且极大的减少了内存碎片的产生,在应用于上线环境中及其适用。 - 注意 这两个内存池只会向系统申请内存,并不会向系统释放内存,因此比如你分配了10MB的内存,然后归还给了内存池,但内存池并不会将其释放,而是加入空闲表再次分配。 (在使用中此因素基本无需考虑,因为你的程序既然能用到10MB内存,就很可能再次能用到) - 请点击阅读原文下载附件 |
以上是关于[分享源码] 高效内存池;动态内存池|单元内存池的主要内容,如果未能解决你的问题,请参考以下文章
v85.01 鸿蒙内核源码分析(内存池管理) | 如何高效切割合并内存块 | 百篇博客分析OpenHarmony源码
从结构体内存池初始化到申请释放,详细解读鸿蒙轻内核的动态内存管理