[发明专利]一种内存管理方法和装置有效
申请号: | 201410758180.X | 申请日: | 2014-12-10 |
公开(公告)号: | CN104461737B | 公开(公告)日: | 2018-01-16 |
发明(设计)人: | 曾元清 | 申请(专利权)人: | 广东欧珀移动通信有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F12/02 |
代理公司: | 深圳中一专利商标事务所44237 | 代理人: | 张全文 |
地址: | 523841 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 管理 方法 装置 | ||
技术领域
本发明属于计算机领域,尤其涉及一种内存管理方法和装置。
背景技术
内存管理,是指软件运行时对计算机内存资源的分配和使用的技术,其主要的目的是如何高效、快速地分配并且在适当的时候释放和回收内存资源,例如,通过在适当时候杀死某些进程,从而可以回收一部分内存资源。随着3G和智能手机时代的来临,智能手机等智能终端上的应用程序越来越多,这类智能手机等智能终端采用多任务的操作系统,可以同时运行着多个任务。为了提高多任务的用户体验,智能手机等智能终端配备了大容量内存。但是,内存容量的增加受到成本、功耗、体积等的限制,内存资源就显得弥足珍贵。因此,相对于一般的终端,智能终端的内存管理更加重要。
以Android操作系统的智能终端为例,现有的一种内存管理方法是:系统为每个进程分配一个重要性评估值即adj值,在应用程序运行时,对系统的空闲页面进行监控。当空闲页面小于某个阈值时,将杀死adj值为某个值的进程。例如,当空闲页面小于30720页数时,将杀死adj值为1000的进程;又如,当空闲页面小于24576页数时,将杀死adj值大于等529的进程,等等。
上述现有的内存管理方法的主要缺陷在于过于简单粗暴,其原因在于,若系统采用这种方法,用户在使用智能手机等智能终端的过程中,会因为内存过低导致很多应用被杀掉、甚至是错误地被杀掉,非常影响用户的体验。
发明内容
本发明提供一种内存管理方法和装置,以在合适的时候回收内存,提高内存管理的效率。
本发明第一方面提供一种内存管理方法,包括:
获取拟交换至存储器中划定区域的交换内存,所述交换内存的大小Mswap使用交换制约因子fswap表征并且与所述fswap成正比;
根据空闲内存阈值或者空闲内存阈值和进程重要性评估值的关系,计算空闲内存阈值为Mf时的交换制约因子f’swap;
在系统空闲内存小于所述Mf时,压缩以所述计算所得的交换制约因子fswap表征的交换内存,并将所述压缩的交换内存中的数据交换至所述划定区域。
结合第一方面,在第一方面的第一种可能的实现方式中,所述交换内存的大小Mswap使用交换制约因子fswap表征并且与所述fswap成正比具体为:Mswap=(Mtotal/100)*fswap,所述Mtotal为系统可用总内存的大小。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述根据空闲内存阈值,计算空闲内存阈值为Mf时的交换制约因子f’swap,包括:
获取空闲内存阈值列表;
求取所述Mswap等于所述空闲内存阈值列表一个空闲内存阈值Mf时的fswap作为所述交换制约因子f’swap。
结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述根据空闲内存阈值和进程重要性评估值的关系,计算空闲内存阈值为Mf时的交换制约因子f’swap,包括:
获取空闲内存阈值列表与进程重要性评估值列表;
根据空闲内存阈值列表与进程重要性评估值列表中空闲内存阈值与进程重要性评估值一一对应的关系,确定一个进程重要性评估值所对应的空闲内存阈值Mf;
求取所述Mswap等于所述Mf时的fswap作为所述交换制约因子f’swap。
结合第一方面的第二种或者第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述获取空闲内存阈值列表或空闲内存阈值列表和进程重要性评估值列表具体为:查询命令的输入,获取空闲内存阈值列表或空闲内存阈值列表和进程重要性评估值列表。
本发明第二方面提供一种内存管理装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东欧珀移动通信有限公司,未经广东欧珀移动通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410758180.X/2.html,转载请声明来源钻瓜专利网。