【技术实现步骤摘要】
一种内存回收方法及装置
本专利技术涉及信息
,尤其涉及一种内存回收方法及装置。
技术介绍
随着终端(如智能手机、平板电脑等终端)的发展,终端已成为人们日常生活必不可缺的物品。实践中发现,用户在刚开始购买终端的时候,用户使用终端非常顺滑,应用运行起来非常快,而在终端被长期使用后,由于安装的应用越来越多,会有许多无用进程和服务在后台运行,并且用户浏览网页以及使用应用程序(Application,APP)会产生过多的缓存,这些将会使得系统的可用内存变少,进而导致终端出现卡顿现象。通常采取的做法是在系统分配内存时检查系统是否有充足的可用内存,若发现当前系统的可用内存不能支撑当前的内存分配需求,则会启动系统内存清理操作,比如:回收系统缓存、关闭进程等。然而,这样会导致需要内存资源的应用阻塞,处于等待状态,延长了APP的响应时间,进而增大了终端出现卡顿现象的概率。
技术实现思路
本专利技术实施例提供了一种内存回收方法及装置,可以减少终端出现卡顿现象的概率。本专利技术实施例第一方面公开了一种内存回收方法,包括:在确定系统当前的可用内存小于内存阈值时,从后台进程列表中确定待回收内存的进程,其中,所述后台进程列表包括一个或多个应用的进程,所述待回收内存的进程为所述一个或多个应用的进程中满足进程所占用内存与内存压力值的差值的绝对值小于预设阈值的条件的进程,所述内存压力值为所述内存阈值与所述系统当前的可用内存的差值;向系统内核发送处理指令,以触发所述系统内核对所述待回收内存的进程进行处理以回收所述待回收内存的进程所占用的内存。其中,可以由一个或多个内存管控线程、一个或多个内存 ...
【技术保护点】
一种内存回收方法,其特征在于,包括:在确定系统当前的可用内存小于内存阈值时,从后台进程列表中确定待回收内存的进程,其中,所述后台进程列表包括一个或多个应用的进程,所述待回收内存的进程为所述一个或多个应用的进程中满足进程所占用内存与内存压力值的差值的绝对值小于预设阈值的条件的进程,所述内存压力值为所述内存阈值与所述系统当前的可用内存的差值;向系统内核发送处理指令,以触发所述系统内核对所述待回收内存的进程进行处理以回收所述待回收内存的进程所占用的内存。
【技术特征摘要】
1.一种内存回收方法,其特征在于,包括:在确定系统当前的可用内存小于内存阈值时,从后台进程列表中确定待回收内存的进程,其中,所述后台进程列表包括一个或多个应用的进程,所述待回收内存的进程为所述一个或多个应用的进程中满足进程所占用内存与内存压力值的差值的绝对值小于预设阈值的条件的进程,所述内存压力值为所述内存阈值与所述系统当前的可用内存的差值;向系统内核发送处理指令,以触发所述系统内核对所述待回收内存的进程进行处理以回收所述待回收内存的进程所占用的内存。2.根据权利要求1所述的方法,其特征在于,在检测到第一关键事件时触发所述确定系统当前的可用内存小于内存阈值的操作,且所述内存阈值为与所述第一关键事件对应的第一内存阈值。3.根据权利要求2所述的方法,其特征在于,所述第一关键事件包括如下事件中的任意一种:程序启动开始事件、清理事件以及内存不足OOM事件。4.根据权利要求1所述的方法,其特征在于,在检测到第二关键事件且确定系统处于空闲状态时触发所述确定当前系统的可用内存小于内存阈值的操作,且所述内存阈值为与所述第二关键事件对应的第二内存阈值。5.根据权利要求1所述的方法,其特征在于,在检测到第二关键事件时触发所述确定当前系统的可用内存小于内存阈值的操作,在确定系统处于空闲状态时触发所述从后台进程列表中选择待回收内存的进程的操作,且所述内存阈值为与所述第二关键事件对应的第二内存阈值。6.根据权利要求4或5所述的方法,其特征在于,所述第二关键事件包括如下事件中的任意一种:程序启动完成事件、亮屏事件、灭屏事件、触屏事件、界面切换事件、任务切换完成事件以及广播事件。7.根据权利要求4至6任意一项所述的方法,其特征在于,所述确定系统处于空闲状态包括:判断所述系统当前的负载是否小于负载阈值;在所述系统当前的负载小于所述负载阈值的情况下,确定系统处于空闲状态。8.根据权利要求1~7任一项所述的方法,其特征在于,在确定出的所述待回收的进程为多个的情况下,所述向系统内核发送处理指令包括:调用多个线程向系统内核发送多个处理指令,其中,每个所述线程用于发送一个或多个处理指令。9.根据权利要求1~7任一项所述的方法,其特征在于,所述从后台进程列表中确定待回收内存的进程包括:根据应用的重要程度从低到高的顺序,从所述后台进程列表包括的多个应用中确定至少一个应用;根据进程优先级从低到高的顺序,从所述至少一个应用包括的进程中确定待回收内存的进程。10.根据权利要求1~9任意一项所述的方法,其特征在于,所述方法还包括:在确定所述系统当前的可用内存小于所述内存阈值时创建所述后台进程列表。11.根据权利要求1~9任意一项所述的方法,其特征在于,所述方法还包括:在确定所述系统当前的可用内存小于所述内存阈值并且所述系统处于空闲状态时创建所述后台进程列表。12.根据权利要求10或11所述的方法,其特征在于,所述创建所述后台进程列表包括:确定当前在后台运行的每个应用的关键因素的分值,所述关键因素包括以下中的一个或多个:进程优先级、用户使用习惯、进程占用系统资源以及应用的关联关系;针对每个所述应用,将所有所述关键因素的分值进行加权计算,获得所述应用的重要程度;根据所有所述应用的重要程度,对所有所述应用进行排序;根据进程优先级,对排序后的每个所述应用包括的进程进行排序,以生成所述后台进程列表。13.一种内存回收装置,其特征在于,包括:确定单元,用于在确定系统当前的可用内存小于内存阈值时...
【专利技术属性】
技术研发人员:杨启彬,段小军,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。