【技术实现步骤摘要】
内存分配方法、内存分配装置及终端设备
本申请属于内存处理
,尤其涉及内存分配方法、内存分配装置、终端设备及计算机可读存储介质。
技术介绍
在内存使用过程中,为了提高内存的读取效率,在分配内存时,往往需要根据要存储的数据的类型或者预设的要求等,以内存对齐的方式来分配内存空间。因此,在分配内存时,为了确保满足内存对齐的要求,所要查找的空闲内存的空间大小不能小于“分配大小+对齐大小-1”;例如,所要求分配的内存大小为2M,而内存对齐的要求为1M对齐,此时,常用的内存分配方式中,所要查找的空闲内存的空间大小不能小于“2M+1M-1”。然而,这一分配方式可能导致对内存空间的浪费,从而导致内存分配时的内存利用率降低。
技术实现思路
本申请实施例提供了内存分配方法、内存分配装置、终端设备及计算机可读存储介质,可以减少对内存空间的浪费,从而提高内存分配时的内存利用率。第一方面,本申请实施例提供了一种内存分配方法,包括:当检测到内存分配请求时,在目标内存空间中,查找目标空闲内存,其中,上述内存分配请求 ...
【技术保护点】
1.一种内存分配方法,其特征在于,包括:/n当检测到内存分配请求时,在目标内存空间中,查找目标空闲内存,其中,所述内存分配请求用于请求分配大小为预设大小的内存,所述目标空闲内存的大小不小于所述预设大小;/n若目标内存空间中存在目标空闲内存,则在所述目标空闲内存中,查找目标地址,其中,所述目标地址符合预设对齐条件;/n若所述目标空闲内存中存在所述目标地址,则根据所述目标地址分配内存。/n
【技术特征摘要】
1.一种内存分配方法,其特征在于,包括:
当检测到内存分配请求时,在目标内存空间中,查找目标空闲内存,其中,所述内存分配请求用于请求分配大小为预设大小的内存,所述目标空闲内存的大小不小于所述预设大小;
若目标内存空间中存在目标空闲内存,则在所述目标空闲内存中,查找目标地址,其中,所述目标地址符合预设对齐条件;
若所述目标空闲内存中存在所述目标地址,则根据所述目标地址分配内存。
2.如权利要求1所述的内存分配方法,其特征在于,所述若目标内存空间中存在目标空闲内存,则在所述目标空闲内存中,查找目标地址,包括:
若目标内存空间中,存在大小等于所述预设大小的目标空闲内存,则判断所述目标空闲内存的起始地址是否符合所述预设对齐条件;
若所述目标空闲内存的起始地址符合所述预设对齐条件,则确定所述目标空闲内存的起始地址为所述目标地址。
3.如权利要求1所述的内存分配方法,其特征在于,所述若目标内存空间中存在目标空闲内存,则在所述目标空闲内存中,查找目标地址,包括:
若目标内存空间中,存在大小大于所述预设大小的目标空闲内存,则从所述目标空闲内存的起始地址起,依次判断所述目标空闲内存中的各个地址是否符合预设对齐条件;
若所述目标空闲内存中,存在符合预设对齐条件的地址,则判断内存子空间的大小是否不小于所述预设大小,其中,所述内存子空间为所述目标空闲内存中的符合预设对齐条件的地址与所述目标空闲内存的尾部地址之间的内存空间;
若所述内存子空间的大小不小于所述预设大小,则确定所述目标空闲内存中的符合预设对齐条件的地址为所述目标地址。
4.如权利要求3所述的内存分配方法,其特征在于,所述若目标内存空间中,存在大小大于所述预设大小的目标空闲内存,则从所述目标空闲内存的起始地址起,依次判断所述目标空闲内存中的各个地址是否符合预设对齐条件,包括:
若目标内存空间中,存在大小大于所述预设大小的目标空闲内存,则从所述目标空闲内存的起始地址起,依次判断所述目标空闲内存的目标空闲空间中的各个地址是否符合预设对齐条件,直到查找到符合预设对齐条件的地址,或者,直到遍历所述目标空闲空间,其中,所述目标空闲空间为所述目标空闲内存中,从所述目标空闲内存的尾部减去所述预设大小的内存之后的剩余空间。
5.如权利要求1至4任意一项所述的内存分配方法,其特征在于,所述若目标内存空...
【专利技术属性】
技术研发人员:李培锋,
申请(专利权)人:OPPO广东移动通信有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。