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