1# 内存基础库部件 2 3- [简介](#section_introduction) 4- [部件架构](#section_architecture) 5- [目录](#section_catalogue) 6- [内存基础库](#section_libraries) 7 - [libdmabufheap系统库](#section_libdmabufheap) 8 - [libmeminfo系统库(规划中)](#section_libmeminfo) 9 - [libmemleak系统库(规划中)](#section_libmemleak) 10 - [libpurgeable系统库(规划中)](#section_libpurgeable) 11 - [libspeculative系统库(规划中)](#section_libspeculative) 12- [使用说明](#section_usage) 13- [相关仓](#section_projects) 14 15## 简介<a name="section_introduction"></a> 16 17内存基础库部件位于公共基础库子系统中,为上层业务提供对应的操作内存的系统库,保证上层业务的稳定性。 18 19## 部件架构<a name="section_architecture"></a> 20 21**图1** 内存基础库部件架构图 22 23 24 25| 内存基础库 | 使用者 | 26| -------------- | -------------------------- | 27| libdmabufheap | 多媒体相关服务 | 28| libmeminfo | 内存管理服务 | 29| libmemleak | 内存管理服务 | 30| libpurgeable | 图形图像相关服务(规划中) | 31| libspeculative | 系统服务(规划中) | 32 33## 目录<a name="section_catalogue"></a> 34 35``` 36/utils/memory 37├── libdmabufheap # DMA (Direct Memory Access) 内存分配链接库 38│ ├── include # DMA内存分配链接库头文件目录 39│ ├── src # DMA内存分配链接库源代码目录 40│ └── test # DMA内存分配链接库自测用例目录 41├── libmeminfo # 内存占用查询库 42├── libmemleak # 内存泄漏检测库 43├── libpurgeable # 可丢弃类型内存管理库 44└── libspeculative # 投机类型内存管理库 45``` 46 47## 内存基础库<a name="section_libraries"></a> 48 49内存基础库是集成内存操作的系统库的部件,对内存操作的系统库进行统一管理。 50 51### libdmabufheap系统库<a name="section_libdmabufheap"></a> 52 53为多媒体相关服务提供分配共享内存的接口,通过在硬件设备和用户空间之间分配和共享内存,实现 54设备、进程间零拷贝内存,提升执行效率。 55 56### libmeminfo系统库(规划中)<a name="section_libmeminfo"></a> 57 58提供内存占用查询接口,用于内存占用信息查询、低内存查杀等场景。 59 60### libmemleak系统库(规划中)<a name="section_libmemleak"></a> 61 62配合malloc_debug做native heap内存泄漏检测。 63 64### libpurgeable系统库(规划中)<a name="section_libpurgeable"></a> 65 66提供可丢弃类型内存的管理接口。 67 68### libspeculative系统库(规划中)<a name="section_libspeculative"></a> 69 70提供投机类型内存管理接口,用于缓存预读。 71 72## 使用说明<a name="section_usage"></a> 73 74系统开发者可以通过配置productdefine/common/products下的产品定义json文件,增加或移除本部件,来启用或停用本部件。 75 76` "utils:utils_memory":{} ` 77 78## 相关仓<a name="section_projects"></a> 79 80[公共基础库子系统](https://gitee.com/openharmony/utils)