回收内存的方法、电子设备及存储介质技术

技术编号:39577876 阅读:6 留言:0更新日期:2023-12-03 19:28
本申请提供了一种回收内存的方法、电子设备及存储介质,涉及内存管理技术领域。该方法包括:当检测到内存回收失败时,将第一优先级提升至第二优先级,第一优先级根据内存回收失败时被查杀的进程的优先级确定,第二优先级的级别高于第一优先级的级别;根据第二优先级确定待查杀进程;对待查杀进程进行查杀处理,以回收待查杀进程所占用的内存。本申请实施例提供的方法能够通过感知电子设备的内存回收情况,扩大进程的查杀范围,从而回收更多的可用内存,提高回收内存的效率,保障电子设备的正常运行,提升了用户的使用体验。提升了用户的使用体验。提升了用户的使用体验。

【技术实现步骤摘要】
回收内存的方法、电子设备及存储介质


[0001]本申请涉及内存管理
,尤其涉及一种回收内存的方法、电子设备及存储介质。

技术介绍

[0002]随着电子设备(例如智能手机、平板电脑等)的发展,电子设备已成为人们日常生活中必不可缺的物品。电子设备中的系统以及所有应用程序(Application,APP)的运行都是在内存中进行的,因此内存的大小会对电子设备的性能产生重大影响。
[0003]实践中发现,用户在刚开始使用电子设备的时候,该电子设备非常顺滑,应用程序运行起来很流畅,而在该电子设备被长期使用后,随着安装的应用程序越来越多,会产生很多无用进程和服务,并且用户使用应用程序(例如浏览网页、在线听歌等)也会产生过多的缓存,导致累计使用的内存资源过多,从而导致电子设备的可用内存变少,进而导致电子设备出现卡顿、死机、重启等故障。
[0004]通常,电子设备的操作系统中设置有内存释放机制,譬如当内存不足时,操作系统会终结不必要的进程来回收内存,以此来保障电子设备的正常运行状态。然而,相关技术中的内存回收方案存在回收效率低的问题。

技术实现思路

[0005]本申请提供一种回收内存的方法、电子设备及存储介质,能够通过感知电子设备的内存回收情况,扩大进程的查杀范围,从而回收更多的可用内存,提高回收内存的效率,保障电子设备的正常运行,提升了用户的使用体验。
[0006]第一方面,本申请提供了一种回收内存的方法,该方法由电子设备执行,方法包括:当检测到内存回收失败时,将第一优先级提升至第二优先级;根据第二优先级确定待查杀进程;对待查杀进程进行查杀处理,以回收待查杀进程所占用的内存。
[0007]其中,第一优先级根据内存回收失败时被查杀的进程的优先级确定。
[0008]应理解,本申请实施例中的第一优先级、第二优先级是为了在描述上与其他优先级区分,并不是限定第一优先级高于第二优先级。相反,在本申请实施方式中,第二优先级的级别高于第一优先级的级别。
[0009]可选地,在一种可能的实现方式中,内存回收失败可以指回收到的内存量小于或等于预设回收量,即对进程进行查杀处理,回收到的内存量小于或等于预设回收量时,判定内存回收失败。在另一种可能的实现方式中,内存回收失败也可以指连续多次回收到的内存量小于或等于预设回收量。在又一种可能的实现方式中,内存回收失败还可以指在预设回收周期内,连续多次回收到的内存量小于或等于预设回收量。
[0010]第一方面提供的回收内存的方法,通过感知电子设备的内存回收情况,提升优先级,并根据提升后的优先级确定更多的待查杀进程,扩大了进程的查杀范围。对这些进程进行查杀处理,可以回收更多的可用内存,提高了回收内存的效率,保障了电子设备的正常运
行,提升了用户的使用体验。
[0011]一种可能的实现方式中,将第一优先级提升至第二优先级,包括:获取预设回收周期内,内存回收失败时被查杀的各个进程的优先级;将第一进程的优先级确定为第一优先级;将第一优先级提升为第二优先级。
[0012]其中,第一进程的优先级的级别高于其他进程的优先级的级别,也就是说,第一进程的优先级的级别在内存回收失败时,被查杀的各个进程的优先级的级别中最高。
[0013]应理解,在一个预设回收周期内,可能会进行一次或多次内存回收。
[0014]这种实现方式中,第一优先级是原本内存回收过程中最高的优先级,在此基础上,提升该第一优先级的级别,得到第二优先级,后续根据该第二优先级可以确定新的待查杀进程,对新的待查杀进程进行查杀/终结,实现在原本内存回收的基础上,回收更多的可用内存,从而提高回收内存的效率,保障电子设备的正常运行,提升了用户的使用体验。
[0015]一种可能的实现方式中,本申请提供的回收内存的方法,在将第一进程的优先级确定为所述第一优先级之后,还包括:根据第一时刻的内存状态确定第三优先级;根据第一优先级和第三优先级,确定第二优先级。
[0016]其中,第三优先级为第一时刻的内存状态下应当查杀的进程的优先级,第一时刻晚于预设回收周期的结束时刻。
[0017]这种实现方式中,在确定第一优先级时考虑当前时刻电子设备的内存状态,考虑到了电子设备实时的可用内存,避免盲目提升优先级,保证最终进行进程查杀时使用的优先级的级别最高,回收更多的可用内存,从而提高回收内存的效率,保障电子设备的正常运行,提升了用户的使用体验。
[0018]一种可能的实现方式中,根据第二优先级确定待查杀进程,包括:当第二优先级对应的进程中包含前台进程时,获取前台进程占用的内存;当前台进程占用的内存大于或等于预设内存阈值时,将前台进程确定为待查杀进程。
[0019]这种实现方式中,考虑到查杀前台进程会对用户造成影响,因此对前台进程做出保护,当提升级别后的优先级对应的进程中包含前台进程时,根据前台进程占用的内存大小,判断是否对前台进程进行查杀。当前台进程占用的内存异常时,才对前台进程进行查杀,保障了前台进行的安全运行,有效降低误杀率,提升了用户的使用体验。
[0020]一种可能的实现方式中,本申请提供的回收内存的方法,在将第一优先级提升至第二优先级之前,还包括:在检测到第二时刻的内存状态满足第一条件时,确定第四优先级;根据第四优先级确定进程列表;若对进程列表中的进程进行查杀处理,回收到的内存量小于或等于预设回收量时,判定内存回收失败。
[0021]其中,第二时刻早于所述预设回收周期的起始时刻;第四优先级为第二时刻的内存状态下应当查杀的进程的优先级。
[0022]可选地,第一条件可以包括:当前的可用内存小于第一阈值,和/或,当前的可回收内存页小于第二阈值。
[0023]可选地,在本申请实施方式中,可以通过Lmkd进程监控电子设备的内存状态。
[0024]这种实现方式中,当检测到电子设备的内存出现低内存情形时,对进程列表中的进程进行查杀处理,可以回收一些内存。当回收到的内存量小于或等于预设回收量时,判定内存回收失败,便于后续通过提升优先级的方式,扩大进程的查杀范围,从而回收更多的内
存。
[0025]一种可能的实现方式中,本申请提供的回收内存的方法,在确定第四优先级之前,还包括:获取每个进程的运行状态;根据每个进程的运行状态,确定每个进程对应的重要程度值;根据每个进程对应的重要程度值,确定每个进程的优先级。
[0026]这种实现方式中,通过获取每个进程的运行状态,根据每个进程的运行状态,确定每个进程对应的重要程度值,再根据每个进程对应的重要程度值,确定了每个进程的优先级,为后续实现内存回收提供了保障。
[0027]一种可能的实现方式中,本申请提供的回收内存的方法,在根据每个进程对应的重要程度值,确定每个进程的优先级之后,还包括:将处于同一优先级的进程划分至同一个进程分组;根据划分后的多个进程分组确定多个进程列表。
[0028]这种实现方式中,便于对处于同一优先级的进程进行管理,有利于提高回收内存的效率。...

【技术保护点】

【技术特征摘要】
1.一种回收内存的方法,其特征在于,包括:当检测到内存回收失败时,将第一优先级提升至第二优先级,所述第一优先级根据内存回收失败时被查杀的进程的优先级确定,所述第二优先级的级别高于所述第一优先级的级别;根据所述第二优先级确定待查杀进程;对所述待查杀进程进行查杀处理,以回收所述待查杀进程所占用的内存。2.如权利要求1所述的方法,其特征在于,所述将第一优先级提升至第二优先级,包括:获取预设回收周期内,内存回收失败时被查杀的各个进程的优先级;将第一进程的优先级确定为所述第一优先级,所述第一进程的优先级的级别高于其他进程的优先级的级别;将所述第一优先级提升为所述第二优先级。3.如权利要求2所述的方法,其特征在于,所述将第一进程的优先级确定为所述第一优先级之后,所述方法还包括:根据第一时刻的内存状态确定第三优先级,所述第三优先级为所述第一时刻的内存状态下应当查杀的进程的优先级,所述第一时刻晚于所述预设回收周期的结束时刻;根据所述第一优先级和所述第三优先级,确定所述第二优先级。4.如权利要求1至3任一项所述的方法,其特征在于,所述根据所述第二优先级确定待查杀进程,包括:当所述第二优先级对应的进程中包含前台进程时,获取所述前台进程占用的内存;当所述前台进程占用的内存大于或等于预设内存阈值时,将所述前台进程确定为所述待查杀进程。5.如权利要求1至4任一项所述的方法,其特征在于,在所述将第一优先级提升至第二优先级之前,所述方法还包括:在检测到第二时刻的内存状态满足第一条件时,确定第四优先级,所述第二时刻早于所...

【专利技术属性】
技术研发人员:王司宇
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1