[发明专利]内存分配方法、装置、存储介质及电子设备有效
| 申请号: | 201911261547.6 | 申请日: | 2019-12-10 |
| 公开(公告)号: | CN111078408B | 公开(公告)日: | 2022-10-21 |
| 发明(设计)人: | 张魁;张诗明 | 申请(专利权)人: | OPPO(重庆)智能科技有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50 |
| 代理公司: | 深圳翼盛智成知识产权事务所(普通合伙) 44300 | 代理人: | 彭绪坤 |
| 地址: | 401120 重庆*** | 国省代码: | 重庆;50 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 内存 分配 方法 装置 存储 介质 电子设备 | ||
1.一种内存分配方法,其特征在于,包括:
当进程启动时,获取所述进程上一次运行过程对应的第一比例,所述第一比例为所述进程上一次运行结束时记录的上一次为所述进程分配的第二虚拟内存空间的内存碎片所占的容量在上一次为所述进程分配的第二虚拟内存空间的总容量中所占的比例,所述内存碎片为数量小于预设数量的连续内存单元;
根据所述第一比例,为所述进程分配第一虚拟内存空间,其中,所述第一虚拟内存空间的大小与所述第一比例成正比;
为所述进程分配第二虚拟内存空间;
当接收到所述进程发送的内存分配请求时,确定所述内存分配请求对应的内存需求量,并判断所述内存分配请求是否满足预设条件;
当所述内存分配请求满足预设条件时,从第一虚拟内存空间的空闲空间中确定大小与所述内存需求量匹配的目标内存空间;
当所述内存分配请求不满足预设条件时,从第二虚拟内存空间的空闲空间中确定大小与所述内存需求量匹配的目标内存空间;
将所述目标内存空间对应的内存地址发送至所述进程;
当所述进程运行结束时,确定此次为所述进程分配的第二虚拟内存空间中的内存碎片所占的容量;
计算此次为所述进程分配的第二虚拟内存空间中的内存碎片所占的容量在此次为所述进程分配的第二虚拟内存空间的总容量中所占的第二比例,并记录所述第二比例。
2.根据权利要求1所述的内存分配方法,其特征在于,所述判断所述内存分配请求是否满足预设条件,包括:
判断所述内存需求量是否小于预设第一阈值;
若所述内存需求量不小于预设第一阈值,则判定所述内存分配请求满足预设条件;
若所述内存需求量小于预设第一阈值,则判定所述内存分配请求不满足预设条件。
3.根据权利要求1所述的内存分配方法,其特征在于,所述判断所述内存分配请求是否满足预设条件,包括:
根据所述进程的类型,确定所述内存分配请求对应的重要级别;
判断所述重要级别是否大于预设级别;
若所述重要级别大于预设级别,则判定所述内存分配请求满足预设条件;
若所述重要级别不大于预设级别,则判定所述内存分配请求不满足预设条件。
4.根据权利要求1所述的内存分配方法,其特征在于,所述从第二虚拟内存空间的空闲空间中确定大小与所述内存需求量匹配的目标内存空间之后,还包括:
当未能成功从第二虚拟内存空间的空闲空间中确定出目标内存空间时,从第一虚拟内存空间的空闲空间中确定大小与所述内存需求量匹配的目标内存空间。
5.根据权利要求1所述的内存分配方法,其特征在于,所述根据进程上一次运行过程对应的所述比例,为所述进程分配第一虚拟内存空间,包括:
根据比例与容量之间的预设映射关系,确定进程上一次运行过程对应的所述比例对应的容量;
为所述进程分配大小与所述容量匹配的第一虚拟内存空间。
6.根据权利要求1至5任一项所述的内存分配方法,其特征在于,所述从第二虚拟内存空间的空闲空间中确定大小与所述内存需求量匹配的目标内存空间,包括:
若所述内存需求量小于预设第二阈值,则从第二虚拟内存空间中靠近第一内存地址的空闲空间中,确定大小与所述内存需求量匹配的目标内存空间;
若所述内存需求量不小于预设第二阈值,则从第二虚拟内存空间中靠近第二内存地址的空闲空间中,确定大小与所述内存需求量匹配的目标内存空间。
7.根据权利要求6所述的内存分配方法,其特征在于,所述第一内存地址为所述第二虚拟内存空间的起始地址,所述第二内存地址为所述第二虚拟内存空间的终止地址;或者,所述第一内存地址为所述第二虚拟内存空间的终止地址,所述第二内存地址为所述第二虚拟内存空间的起始地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于OPPO(重庆)智能科技有限公司,未经OPPO(重庆)智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911261547.6/1.html,转载请声明来源钻瓜专利网。





