内存回收方法、装置、终端、计算机存储介质及产品与流程

文档序号:36828637发布日期:2024-01-26 16:41阅读:28来源:国知局
内存回收方法、装置、终端、计算机存储介质及产品与流程

本申请涉及内存回收,并且更具体地,涉及内存回收中的内存回收方法、装置、终端、计算机存储介质及产品。


背景技术:

1、在android移动终端的linux内核中,kswapd是内核守护线程。在内存分配时,如果可用内存低于设定的low水线,或者,不满足内存分配需求,系统会唤醒kswapd线程进行内存回收,直到系统空闲内存达于设定的high水线且满足此次内存回收需求时停止内存回收,从而让系统处于一个内存健康的状态。

2、在进行内存回收时主要的回收对象包括匿名页和文件页,通常设置有内存回收参数,以使得系统根据该内存回收参数确定回收匿名页和文件页的回收比例。而由于匿名页和文件页的回收方式存在差异,则如何调节内存回收参数是保障终端在内存回收时流畅运行所亟需解决的问题。


技术实现思路

1、本申请提供了一种内存回收方法、装置、终端、计算机存储介质及产品,该方法能够为不同内存状态设置不同的内存回收参数调节策略,以满足终端不同内存状态下的内存回收需求。

2、一方面,提供了一种内存回收方法,所述方法包括:

3、在终端存在内存回收需求的情况下,获取所述终端当前空闲内存的第一内存容量;

4、在所述第一内存容量低于第一容量阈值的情况下,按照第一调节方式调节内存回收参数,所述内存回收参数用于指示内存回收时不同内存回收对象之间的回收比例;

5、在所述第一内存容量高于所述第一容量阈值的情况下,按照第二调节方式调节所述内存回收参数,所述第一调节方式下所述终端的内存回收速率高于所述第二调节方式下所述终端的所述内存回收速率;

6、基于调节后的内存回收参数对所述终端进行内存回收。

7、另一方面,提供了一种内存回收装置,所述装置包括:

8、第一获取模块,用于在终端存在内存回收需求的情况下,获取所述终端当前空闲内存的第一内存容量;

9、第一调节模块,用于在所述第一内存容量低于第一容量阈值的情况下,按照第一调节方式调节内存回收参数,所述内存回收参数用于指示内存回收时不同内存回收对象之间的回收比例;

10、第二调节模块,用于在所述第一内存容量高于所述第一容量阈值的情况下,按照第二调节方式调节所述内存回收参数,所述第一调节方式下所述终端的内存回收速率高于所述第二调节方式下所述终端的所述内存回收速率;

11、内存回收模块,用于基于调节后的内存回收参数对所述终端进行内存回收。

12、另一方面,提供一种终端,所述终端包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如上述方面所述的内存回收方法。

13、另一方面,提供了一种计算机可读存储介质,所述存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现如上述方面所述的内存回收方法。

14、另一方面,提供了一种计算机程序产品,该计算机程序产品或计算机程序包括程序代码,该程序代码存储在计算机可读存储介质中,终端的处理器从计算机可读存储介质读取该程序代码,处理器执行该程序代码,使得该终端执行上述方面任意一项所述的内存回收方法。

15、本申请实施例提供的技术方案可以带来如下有益效果:

16、本申请提供了一种根据内存状态动态调整内存回收策略的方法:通过在触发终端进行内存回收时,获取终端当前空闲内存的内存容量,进而根据内存容量的多少,选择适配当前内存状态的内存回收策略。实现了基于内存状态动态调整内存回收策略的目的,以满足不同内存状态下的内存回收需求。此外,在内存容量相对较低时,选择内存回收速率相对较快的第一调节方式调节内存回收参数,可以在内存容量相对较低时,加快空闲内存的恢复,降低内存回收耗时和内存回收负载,避免内存回收负载较大对终端运行性能的进一步影响,提高内存回收时终端的运行流畅性;在内存容量相对较高时,选择内存回收速率相对较慢的第二调节方式调节内存回收参数,避免内存回收激进影响终端正在运行的应用程序的流畅性。



技术特征:

1.一种内存回收方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述内存回收对象至少包括文件页和匿名页;

3.根据权利要求2所述的方法,其特征在于,所述在所述第一内存容量低于第一容量阈值的情况下,按照第一调节方式调节内存回收参数,包括:

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

5.根据权利要求3所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1至5任一所述的方法,其特征在于,所述内存回收需求由所述终端无法满足内存分配需求而触发;

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:

8.一种内存回收装置,其特征在于,所述装置包括:

9.一种终端,其特征在于,所述终端包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如权利要求1至7中任意一项所述的内存回收方法。

10.一种计算机可读存储介质,其特征在于,所述存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现如权利要求1至7中任意一项所述的内存回收方法。

11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任意一项所述的内存回收方法。


技术总结
本申请提供了一种内存回收方法、装置、终端、计算机存储介质及产品。属于内存回收技术领域,该方法包括:在终端存在内存回收需求的情况下,获取终端当前空闲内存的第一内存容量;在第一内存容量低于第一容量阈值的情况下,按照第一调节方式调节内存回收参数,内存回收参数用于指示内存回收时不同内存回收对象之间的回收比例;在第一内存容量高于第一容量阈值的情况下,按照第二调节方式调节内存回收参数,第一调节方式下终端的内存回收速率高于第二调节方式下终端的内存回收速率;基于调节后的内存回收参数对终端进行内存回收。该方法能够为不同内存状态设置不同的内存回收参数调节策略,以满足终端不同内存状态下的内存回收需求。

技术研发人员:周华材
受保护的技术使用者:OPPO广东移动通信有限公司
技术研发日:
技术公布日:2024/1/25
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1