[发明专利]一种内存回收方法及装置有效
| 申请号: | 201680014809.7 | 申请日: | 2016-04-27 |
| 公开(公告)号: | CN107912063B | 公开(公告)日: | 2021-05-18 |
| 发明(设计)人: | 赵俊民 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F12/08;G06F12/122;G06F9/50 |
| 代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 冯艳莲 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 内存 回收 方法 装置 | ||
一种内存回收方法及装置,用以解决通过结束KILL应用来回收内存的方式会导致应用数据丢失、应用重新启动变慢的问题。本申请提供的内存回收方法包括:确定待回收内存的应用程序;根据应用程序的运行状态,选择至少一种虚拟地址空间段;对选择的所述至少一种虚拟地址空间段中被所述应用程序占用的虚拟地址空间进行回收。本申请并不直接KILL应用程序,而是根据应用程序的运行状态,只对在该运行状态下能够清理的应用数据所占用的内存进行回收,可以减少应用数据的丢失,提高应用程序重新启动时的速度。
技术领域
本申请涉及计算机技术领域,尤其涉及一种内存回收方法及装置。
背景技术
内存是计算机或者其它智能终端,如手机等终端中重要的组成部分。终端中应用程序的运行一般都是在内存中进行,很多应用程序使用的数据需要存储在内存中。
在对应用程序进行内存回收时,有的机制采用的是基于需求(on-demand)的内存回收方式,也即当有新的应用启动、并发现内存不足时,再选择结束(KILL)某些后台运行的应用程序,对该应用程序占用的内存进行清理。有的机制采用的是预先清理的方式,也即为了使系统内利用率较低的内存得到及时释放,在发现内存不足之前,就根据应用程序的优先级,KILL掉某些低优先级的应用程序。
不管是基于需求的内存回收机制,还是预先清理的内存回收机制,在回收内存时都是采用的直接KILL应用程序的方式,这种方式对应用程序占用的内存进行完全的清理,因此会导致应用数据的丢失,此外,当用户重新启动应用程序时,启动速度会变慢。
发明内容
本申请实施例提供一种内存回收方法及装置,用以减少回收内存时对应用数据的丢失、提高应用重新启动时的速度。
本申请实施例提供一种内存回收方法,包括:
确定待回收内存的应用程序;
根据所述应用程序的运行状态,在所述应用程序占用的多种虚拟地址空间段中,选择至少一种虚拟地址空间段;
对选择的所述至少一种虚拟地址空间段中被所述应用程序占用的虚拟地址空间进行回收。
上述方法在进行内存回收时,并不直接结束KILL应用程序,而是根据应用程序的运行状态,只对在该运行状态下能够清理的虚拟地址空间进行回收。这样,在某些运行状态(除空进程状态之外的运行状态)下就可以不对整个应用程序占用的内存空间进行完全的清理,可以减少应用数据的丢失,此外,还可以提高应用程序重新启动时的速度。
在上述方法中,确定待回收内存的应用程序,包括:
根据终端内各个应用程序的运行状态,确定待回收内存的应用程序。
在上述方法中,根据所述应用程序的运行状态,在所述应用程序占用的多种虚拟地址空间段中,选择至少一种虚拟地址空间段,包括:
根据在所述运行状态下,能够回收的各种虚拟地址空间段分别对应的回收优先级,选择所述至少一种虚拟地址空间段。
对应内存回收,本申请还提供了内存分配方式:
根据待分配内存的应用数据所属的第一数据类型,从预设的多种虚拟地址空间段中选择一种虚拟地址空间段,并为所述应用数据分配选择的虚拟地址空间段中的虚拟地址空间;其中,所述应用数据所属的第一数据类型对应一个预设的访问频率范围。
采用这种内存分配机制,可以将应用数据按数据类型分配到对应的虚拟地址空间段中,这样,在回收内存时,就可以按照应用程序的运行状态,选择能够回收的数据类型对应的虚拟地址空间段中的内存空间,实现对应用程序占用的内存的选择性回收。
在上述方法中,所述待分配内存的应用数据类型还包括第二数据类型,所述第二数据类型的访问频率范围不同于所述第一数据类型的访问频率范围。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680014809.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:叠覆手写的系统和方法
- 下一篇:壳代码检测





