1.一种内存管理方法,其特征在于包括:
接收内存申请,其中,所述内存申请用于申请第一容量的内存;
从第一内存池中分配一片第一内存,其中,所述第一内存池管理预定单元长度的内存,所述预定单元长度大于所述第一容量;所述第一内存池是根据总内存的容量划分的至少一个内存池中的其中之一,不同的内存池管理不同单元长度的内存;
从所述第一内存中切割出够所述内存申请使用的内存,将所述第一内存中剩余的内存加入到对应的内存池中。
2.根据权利要求1所述的方法,其特征在于,从所述第一内存中切割出够所述内存申请使用的内存包括:
从所述第一内存分割出第二容量的内存供使用,并填写内存管理头信息,其中,第二容量为第一容量以及对应的所述内存管理头信息的容量和。
3.根据权利要求2所述的方法,其特征在于,所述内存管理头信息包括以下至少之一:
记录该内存的长度、记录前一个切割节点内存的管理头指针、记录用于检验该内存节点的信息、前一个相邻内存块头部信息地址指针。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:释放申请的所述内存,其中,释放申请的所述内存包括:
从所述内存管理信息获取该段内存的长度以及该段内存相邻内存的管理头指针;
设置该段内存的未使用标志位;
获取相邻节点内存的管理头信息,如果该内存也是未使用的则与相邻的内存进行合并,更新内存管理头信息中的长度;如果相邻节点的内存为已使用,则不合并,直接将该段内存添加到所属的内存池未使用链表。
5.根据权利要求1至3中任一项所述的方法,其特征在于,根据总内存的容量划分内存池包括:
内存池的划分以N的倍数为基数,其中,N为自然数。
6.一种内存管理装置,其特征在于包括:
接收模块,用于接收内存申请,其中,所述内存申请用于申请第一容量的内存;
分配模块,用于从第一内存池中分配一片第一内存,其中,所述第一内存池管理预定单元长度的内存,所述预定单元长度大于所述第一容量;所述第一内存池是根据总内存的容量划分的至少一个内存池中的其中之一,不同的内存池管理不同单元长度的内存;
分割模块,用于从所述第一内存中切割出够所述内存申请使用的内存,将所述第一内存中剩余的内存加入到对应的内存池中。
7.根据权利要求6所述的装置,其特征在于,
所述分割模块,用于从所述第一内存分割出第二容量的内存供使用,并填写内存管理头信息,其中,第二容量为第一容量以及对应的所述内存管理头信息的容量和。
8.根据权利要求7所述的装置,其特征在于,所述内存管理头信息包括以下至少之一:
记录该内存的长度、记录前一个切割节点内存的管理头指针、记录用于检验该内存节点的信息、前一个相邻内存块头部信息地址指针。
9.根据权利要求7或8所述的装置,其特征在于,还包括:释放模块,其中,所述释放模块包括:
获取单元,用于从所述内存管理信息获取该段内存的长度以及该段内存相邻内存的管理头指针;
设置单元,用于设置该段内存的未使用标志位;
处理单元,用于获取相邻节点内存的管理头信息,如果该内存也是未使用的则与相邻的内存进行合并,更新内存管理头信息中的长度;如果相邻节点的内存为已使用,则不合并,直接将该段内存添加到所属的内存池未使用链表。
10.根据权利要求6至8中任一项所述的装置,其特征在于,内存池的划分以N的倍数为基数,其中,N为自然数。