[发明专利]内存回收方法、装置、存储介质及电子设备在审
| 申请号: | 202010628802.2 | 申请日: | 2020-07-01 |
| 公开(公告)号: | CN111831440A | 公开(公告)日: | 2020-10-27 |
| 发明(设计)人: | 周华材;张诗明;郭健 | 申请(专利权)人: | OPPO广东移动通信有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50 |
| 代理公司: | 深圳翼盛智成知识产权事务所(普通合伙) 44300 | 代理人: | 李汉亮 |
| 地址: | 523860 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 内存 回收 方法 装置 存储 介质 电子设备 | ||
1.一种内存回收方法,其特征在于,包括:
当接收到线程发送的内存分配请求时,确定当前的空闲内存量;
若所述空闲内存量小于预设阈值,则确定所述线程的类型,其中,将线程划分为优先级不同的多类线程,其中,第一类线程具有最高优先级,所述第一类线程为执行用户交互事件中相关任务的线程;
获取与所述线程的类型对应的内存回收比例,并按照所述内存回收比例对已分配内存空间中的内存页进行回收,其中,所述内存回收比例用于表征多种内存回收对象之间的比例,不同种类的内存回收对象的回收效率不同,线程的优先级越高,则对应的内存回收比例中回收效率高的内存回收对象的占比越大。
2.如权利要求1所述的内存回收方法,其特征在于,所述获取与所述线程的类型对应的内存回收比例,并按照所述内存回收比例对已分配内存空间中的内存页进行回收,包括:
当所述线程为第一类线程时,按照第一内存回收比例对已分配内存空间中的内存页进行回收;
当所述线程为第二类线程时,按照第二内存回收比例对已分配内存空间中的内存页进行回收,其中,所述第一内存回收比例中回收效率高的内存回收对象的占比,高于所述第二内存回收比例中回收效率高的内存回收对象的占比。
3.如权利要求2所述的内存回收方法,其特征在于,将线程划分为优先级不同的三类线程;所述获取与所述线程的类型对应的内存回收比例,并按照所述内存回收比例对已分配内存空间中的内存页进行回收,还包括:
当所述线程为第三类线程时,按照第三内存回收比例对已分配内存空间中的内存页进行回收,其中,所述第二内存回收比例中回收效率高的内存回收对象的占比,高于所述第三内存回收比例中回收效率高的内存回收对象的占比。
4.如权利要求3所述的内存回收方法,其特征在于,所述确定所述线程的类型,包括:
获取所述线程携带的标签;
若所述标签为第一预设标签,则判定所述线程为第一类线程;
若所述标签为第二预设标签,则判定所述线程为第二类线程;
若所述标签为第三预设标签,则判定所述线程为第三类线程。
5.如权利要求1至4任一项所述的内存回收方法,其特征在于,所述方法还包括:
确定出执行用户交互事件中相关任务的目标线程;
为所述目标线程添加所述预设标签,以将所述目标线程标记为第一类线程。
6.如权利要求5所述的内存回收方法,其特征在于,所述确定出执行用户交互事件中相关任务的目标线程,包括:
在检测到有进程切换到前台运行时,确定前台进程;
从所述前台进程的线程中识别出用于执行用户交互事件中相关任务的第一预设线程,作为目标线程。
7.如权利要求5所述的内存回收方法,其特征在于,所述方法还包括:
对所述第一类线程的运行状态进行检测;
当检测到有第一类线程进入阻塞状态,则确定与进入阻塞状态的第一类线程之间有约束关系的关联线程;
为所述关联线程添加预设标签,以将所述关联线程标记为所述第一类线程。
8.如权利要求5所述的内存回收方法,其特征在于,所述方法还包括:
当检测到有线程切换至前台运行时,判断切换至前台运行的线程是否为第一类线程;
若否,则为所述线程添加第二预设标签,以将所述线程标记为第二类线程;
当检测到有线程切换至后台运行时,判断切换至后台运行的线程是否为第一类线程;
若否,则为所述线程添加第三预设标签,以将所述线程标记为第三类线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于OPPO广东移动通信有限公司,未经OPPO广东移动通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010628802.2/1.html,转载请声明来源钻瓜专利网。





