多进程内存处理方法及装置、计算机装置及可读存储介质制造方法及图纸

技术编号:18350016 阅读:32 留言:0更新日期:2018-07-01 22:57
本发明专利技术提供一种多进程内存处理方法及装置,应用于终端中。所述多进程内存处理方法包括:确定所述终端的各个进程的活跃度;依据所述活跃度将各个进程按顺序压入进程栈中,其中,活跃度最低的进程位于栈底,活跃度最高的进程位于栈顶;在接收到内存处理请求时,从所述进程栈的栈底开始对所述进程栈中的部分或全部进程进行内存处理,直到释放预定的内存释放量。本发明专利技术提供的多进程内存处理方法引入多进程内存处理机制,根据进程的活跃度对进程进行内存处理,从而能够优先处理不活跃的进程内存,使得操作系统应用的进程不会被自动回收掉,也保证前台进程的内存一直存在物理内存中不被处理,以确保终端的正常运行,并提高用户使用体验。

【技术实现步骤摘要】
多进程内存处理方法及装置、计算机装置及可读存储介质
本专利技术涉及内存管理
,尤其涉及一种多进程内存处理方法及装置、计算机装置及可读存储介质。
技术介绍
本部分旨在为权利要求书及具体实施方式中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。在终端设备中,出于成本的考虑,系统内存非常有限,当系统在较大的负载下运行的时候,容易出现系统内存不足的情况。一般情况下,在系统内存不足时,系统会将一部分内存回收掉或者压缩并搬运到zram区域(下文统称为内存处理),从而腾出更多的物理内存。然而,这部分被处理的内存是非连续的、零乱的,且不按照进程的归属分类,即被处理的这部分内存有可能属于单个进程,也有可能属于多个进程,系统会根据内存分配的先后顺序进行处理。这种做法的不足之处在于,有时候会造成操作系统应用的进程被回收掉,导致终端设备无法正常的运行的缺陷,例如,被处理的内存有可能正好是前台进程的内存,这样就会出现正在使用的前台进程被强行关闭,用户需要重新加载这块内存的内容,导致用户的使用体验大打折扣。
技术实现思路
鉴于此,有必要提供一种多进程内存处理方法及装置、计算机装置及计算机可读存储介质,以优先处理不活跃的进程内存,以确保终端的正常运行,并提高用户使用体验。本专利技术实施例一方面提供一种多进程内存处理方法,应用于终端中。所述多进程内存处理方法包括:确定所述终端的各个进程的活跃度;依据所述活跃度将各个进程按顺序压入进程栈中,其中,活跃度最低的进程位于栈底,活跃度最高的进程位于栈顶;在接收到内存处理请求时,从所述进程栈的栈底开始对所述进程栈中的部分或全部进程进行内存处理,直到释放预定的内存释放量。进一步的,本专利技术实施例提供的上述多进程内存处理方法中,所述从所述进程栈的栈底开始对所述进程栈中的部分或全部进程进行内存处理包括:从所述栈底往所述栈顶的方向按顺序对所述进程栈中的部分或全部进程逐个进行内存处理。进一步的,本专利技术实施例提供的上述多进程内存处理方法中,所述多进程内存处理方法还包括:学习多次释放不同的内存量对所述终端系统的影响,最终确定出最优的内存量作为所述预定的内存释放量。进一步的,本专利技术实施例提供的上述多进程内存处理方法中,所述学习多次释放不同的内存量对所述终端系统的影响,最终确定出最优的内存量作为所述预定的内存释放量具体包括:在多次释放不同的内存量后,分别监测一预设时间阈值内系统的掉帧率,其中,所述掉帧率是指在所述预设时间阈值内系统需要显示的图像帧数与系统实际显示的图像帧数之差占所述系统需要显示的图像帧数的比值;确定各个掉帧率对应的系统显示性能参数;从多个所述掉帧率中确定出数值较小的掉帧率,且所述数值较小的掉帧率对应的系统显示性能参数在预设的合理参数范围内;将所述数值较小的掉帧率对应的内存量作为所述预定的内存释放量。进一步的,本专利技术实施例提供的上述多进程内存处理方法中,所述确定所述终端的各个进程的活跃度包括:实时监控所述终端的各个进程的使用状态;以及依据各个进程的使用状态确定各个进程的活跃度。进一步的,本专利技术实施例提供的上述多进程内存处理方法中,所述多进程内存处理方法还包括:依据各个进程的使用状态更新各个进程的活跃度;以及依据更新后的活跃度更新各个进程在所述进程栈中的位置。本专利技术实施例另一方面还提供一种多进程内存处理装置,应用于终端中。所述多进程内存处理装置包括:分析模块,用于确定所述终端的各个进程的活跃度;排序模块,用于依据所述活跃度将各个进程按顺序压入进程栈中,其中,活跃度最低的进程位于栈底,活跃度最高的进程位于栈顶;内存处理模块,用于在接收到内存处理请求时,从所述进程栈的栈底开始对所述进程栈中的部分或全部进程进行内存处理,直到释放预定的内存释放量。进一步的,在本专利技术实施例提供的上述多进程内存处理装置中,所述内存处理模块在从所述进程栈的栈底开始对所述进程栈中的部分或全部进程进行内存处理时,具体用于:从所述栈底往所述栈顶的方向按顺序对所述进程栈中的部分或全部进程逐个进行内存处理。进一步的,在本专利技术实施例提供的上述多进程内存处理装置中,所述多进程内存处理装置还包括学习模块,所述学习模块用于学习多次释放不同的内存量对所述终端系统的影响,最终确定出最优的内存量作为所述预定的内存释放量。进一步的,在本专利技术实施例提供的上述多进程内存处理装置中,所述学习模块具体用于:在多次释放不同的内存量后,分别监测一预设时间阈值内系统的掉帧率,其中,所述掉帧率是指在所述预设时间阈值内系统需要显示的帧数与系统实际显示的图像帧数之差占所述系统需要显示的图像帧数的比值;确定各个掉帧率对应的系统显示性能参数;从多个所述掉帧率中确定出数值较小的掉帧率,且所述数值较小的掉帧率对应的系统显示性能参数在预设的合理参数范围内;将所述数值较小的掉帧率对应的内存量作为所述预定的内存释放量。进一步的,在本专利技术实施例提供的上述多进程内存处理装置中,所述多进程内存处理装置还包括监测模块,所述监测模块用于实时监控所述终端的各个进程的使用状态;以及所述分析模块具体用于依据各个进程的使用状态确定各个进程的活跃度。本专利技术实施例再一方面还提供一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现上述任一所述多进程内存处理方法的步骤。本专利技术实施例又一方面还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述多进程内存处理方法的步骤。本专利技术提供的多进程内存处理方法引入多进程内存处理机制,根据进程的活跃度对进程进行内存处理,从而能够优先处理不活跃的进程内存,使得操作系统应用的进程不会被自动回收掉,也保证前台进程的内存一直存在物理内存中不被处理,以确保终端的正常运行,并提高用户使用体验。附图说明为了更清楚地说明本专利技术实施方式的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一实施方式提供的多进程内存处理方法的流程图。图2是本专利技术一实施方式提供的进程栈的示意图。图3是本专利技术一实施方式提供的多进程内存处理装置的结构示意图。图4是本专利技术一实施方式提供的终端的结构示意图。主要元件符号说明终端1多进程内存处理装置10分析模块11排序模块12内存处理模块13监测模块14学习模块15处理器20存储器30计算机程序40进程栈51进程521、522、523如下具体实施方式将结合上述附图进一步说明本专利技术。具体实施方式为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和具体实施方式对本专利技术进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施方式及实施方式中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,所描述的实施方式仅仅是本专利技术一部分实施方式,而不是全部的实施方式。基于本专利技术中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本专利技术保护的范围。除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义本文档来自技高网
...
多进程内存处理方法及装置、计算机装置及可读存储介质

【技术保护点】
1.一种多进程内存处理方法,应用于终端中,其特征在于,所述多进程内存处理方法包括:确定所述终端的各个进程的活跃度;依据所述活跃度将各个进程按顺序压入进程栈中,其中,活跃度最低的进程位于栈底,活跃度最高的进程位于栈顶;在接收到内存处理请求时,从所述进程栈的栈底开始对所述进程栈中的部分或全部进程进行内存处理,直到释放预定的内存释放量。

【技术特征摘要】
1.一种多进程内存处理方法,应用于终端中,其特征在于,所述多进程内存处理方法包括:确定所述终端的各个进程的活跃度;依据所述活跃度将各个进程按顺序压入进程栈中,其中,活跃度最低的进程位于栈底,活跃度最高的进程位于栈顶;在接收到内存处理请求时,从所述进程栈的栈底开始对所述进程栈中的部分或全部进程进行内存处理,直到释放预定的内存释放量。2.如权利要求1所述的多进程内存处理方法,其特征在于,所述从所述进程栈的栈底开始对所述进程栈中的部分或全部进程进行内存处理包括:从所述栈底往所述栈顶的方向按顺序对所述进程栈中的部分或全部进程逐个进行内存处理。3.如权利要求1所述的多进程内存处理方法,其特征在于,所述多进程内存处理方法还包括:学习多次释放不同的内存量对所述终端系统的影响,最终确定出最优的内存量作为所述预定的内存释放量。4.如权利要求3所述的多进程内存处理方法,其特征在于,所述学习多次释放不同的内存量对所述终端系统的影响,最终确定出最优的内存量作为所述预定的内存释放量具体包括:在多次释放不同的内存量后,分别监测一预设时间阈值内系统的掉帧率,其中,所述掉帧率是指在所述预设时间阈值内系统需要显示的图像帧数与系统实际显示的图像帧数之差占所述系统需要显示的图像帧数的比值;确定各个掉帧率对应的系统显示性能参数;从多个所述掉帧率中确定出数值较小的掉帧率,且所述数值较小的掉帧率对应的系统显示性能参数在预设的合理参数范围内;将所述数值较小的掉帧率对应的内存量作为所述预定的内存释放量。5.如权利要求1所述的多进程内存处理方法,其特征在于,所述确定所述终端的各个进程的活跃度包括:实时监控所述终端的各个进程的使用状态;以及依据各个进程的使用状态确定各个进程的活跃度。6.如权利要求5所述的多进程内存处理方法,其特征在于,所述多进程内存处理方法还包括:依据各个进程的使用状态更新各个进程的活跃度;以及依据更新后的活跃度更新各个进程在所述进程栈中的位置。7.一种多进程内存处理装置,应用于终端中,其特征在于,所述多进程内存处理装置包括:分析模...

【专利技术属性】
技术研发人员:钟斌王文
申请(专利权)人:珠海市魅族科技有限公司
类型:发明
国别省市:广东,44

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

1