CN110245021A - 移动终端的内存管理方法、***、电子设备及存储介质 - Google Patents

移动终端的内存管理方法、***、电子设备及存储介质 Download PDF

Info

Publication number
CN110245021A
CN110245021A CN201910543245.1A CN201910543245A CN110245021A CN 110245021 A CN110245021 A CN 110245021A CN 201910543245 A CN201910543245 A CN 201910543245A CN 110245021 A CN110245021 A CN 110245021A
Authority
CN
China
Prior art keywords
mobile terminal
processed
memory
preset threshold
memory management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910543245.1A
Other languages
English (en)
Inventor
徐佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Chuanggong Telecom Technology Co Ltd
Original Assignee
Shanghai Chuanggong Telecom Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Chuanggong Telecom Technology Co Ltd filed Critical Shanghai Chuanggong Telecom Technology Co Ltd
Priority to CN201910543245.1A priority Critical patent/CN110245021A/zh
Publication of CN110245021A publication Critical patent/CN110245021A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种移动终端的内存管理方法、***、电子设备及存储介质,所述内存管理方法包括:检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值,所述待处理进程为非空进程;若不大于所述第一预设阈值,则释放所述待处理进程的数据缓存;若大于所述第一预设阈值,则关闭所述待处理进程。本发明技术方案本发明通过清除进程结合释放缓存的机制,能够及时关闭后台占用内存较多的进程,缩短了用户重新进入移动终端的后台应用的平均时间,提高了用户体验。

Description

移动终端的内存管理方法、***、电子设备及存储介质
技术领域
本发明涉及移动通信技术领域,具体涉及一种移动终端的内存管理方法、***、电子设备及存储介质。
背景技术
随着电子信息技术的发展,现代移动终端(如手机、平板电脑等)的功能越来越强大。在日常使用移动终端时,用户会同时在一个移动终端上打开多个应用,一段时间后便有非常多的应用常驻后台运行,占用较多的内存,导致移动终端因内存不足而响应速度越来越慢。
现有技术中,通常采用低内存杀应用机制来保证移动终端的正常运行,即当***内存低于预设值时,***可以强制关闭优先级较低的运行进程以释放内存,在这种情况下,当用户需要重新进入某一应用时就需要等待较长的响应时间,严重影响了用户体验。
发明内容
本发明要解决的技术问题是为了克服现有技术中在***内存较低时直接关闭优先级较低的进程,导致用户重新进入某一应用时耗时较久的缺陷,提供一种移动终端的内存管理方法、***、电子设备及存储介质。
本发明是通过下述技术方案来解决上述技术问题:
一种移动终端的内存管理方法,所述内存管理方法包括:
检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值,所述待处理进程为非空进程;
若不大于所述第一预设阈值,则释放所述待处理进程的数据缓存;
若大于所述第一预设阈值,则关闭所述待处理进程。
较佳地,所述检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值的步骤之前还包括:
判断所述移动终端的待处理进程是否是空进程;
若是所述空进程,则关闭所述待处理进程;
若不是所述空进程,则执行检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值的步骤。
较佳地,所述待处理进程包括后台进程;
所述内存管理方法还包括:获取所述移动终端的当前的所述后台进程和空进程的总数量;判断所述总数量是否小于第二预设阈值;若小于所述第二预设阈值,则执行检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值的步骤;
所述关闭所述待处理进程之后还包括:返回所述获取所述移动终端的当前的待处理进程和空进程的总数量的步骤。
较佳地,所述检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值的步骤之前还包括:根据预设维度计算所述移动终端的所述待处理进程的优先级,所述预设维度包括所述待处理进程占用的内存、所述待处理进程的业务类别、所述待处理进程被应用调用的次数中的至少一种;
所述检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值包括:获取所述优先级;按照所述优先级由低到高的顺序检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值。
较佳地,所述释放所述待处理进程的数据缓存之后还包括:判断释放的所述数据缓存与所述待处理进程占用的内存之间的比值是否大于第三预设阈值;若大于所述第三预设阈值,则保持所述待处理进程继续运行;若不大于所述第三预设阈值,则关闭所述待处理进程。
较佳地,所述数据缓存包括文件缓存、图片缓存、用户界面配置缓存中的至少一种。
较佳地,所述待处理进程包括前台进程、可见进程、服务进程、后台进程中的至少一种。
一种移动终端的内存管理***,所述内存管理***包括:
检测模块,用于检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值,所述待处理进程为非空进程;
若大于所述第一预设阈值,则调用缓存释放模块,所述缓存释放模块用于释放所述待处理进程的数据缓存;
若不大于所述第一预设阈值,则调用进程关闭模块,所述进程关闭模块用于关闭所述待处理进程。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时实现前述的移动终端的内存管理方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述的移动终端的内存管理方法的步骤。
在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。
本发明的积极进步效果在于:本发明通过清除进程结合释放缓存的机制,能够及时关闭后台占用内存较多的进程,并且保留释放缓存后占用内存较小的进程,缩短了用户重新进入移动终端的后台应用的平均时间,提高了用户体验。
附图说明
图1为本发明实施例1的一种移动终端的内存管理方法的流程图。
图2为本发明实施例2的一种移动终端的内存管理方法的流程图。
图3为本发明实施例3的一种移动终端的内存管理方法的流程图。
图4为本发明实施例4的一种移动终端的内存管理方法的流程图。
图5为本发明实施例5的一种移动终端的内存管理***的结构框图。
图6为本发明实施例6的实现移动终端的内存管理方法的电子设备的结构框图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例提供一种移动终端的内存管理方法,如图1所示,所述内存管理方法可以包括如下步骤:
步骤S1:检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值,所述待处理进程为非空进程;
若不大于所述第一预设阈值,则执行步骤S2:释放所述待处理进程的数据缓存;
若大于所述第一预设阈值,则执行步骤S3:关闭所述待处理进程。
具体地,所述数据缓存可以包括文件缓存、图片缓存、用户界面配置缓存中的至少一种。
本实施例中,所述待处理进程可以包括前台进程、可见进程、服务进程、后台进程中的至少一种。
其中,所述前台进程是指目前正在屏幕上执行显示业务的进程或者一些执行***业务的进程,也就是和用户正在交互的进程。例如,若用户正在使用聊天工具的聊天窗口跟对方聊天,在用户所使用的终端上,该聊天工具所占用的进程就是前台进程。
所述可见进程指部分程序界面能够被用户看见,却不在前台与用户交互的进程。例如,在一个界面上弹出一个对话框(该对话框是一个新的功能框),那么在该对话框后面的原界面是可见的,但是并没有与用户进行交互,那么原界面就是可见进程。
所述服务进程是通过启动服务接口的方法启动的进程,但不属于前台进程和可见进程。例如,在后台播放音乐或者在后台下载就是服务进程。
所述后台进程指的是目前对用户不可见的进程,例如,用户正在使用聊天工具和对方聊天,此时该聊天工具占用的即为前台进程,但是当用户点击Home键(即起始键)让聊天界面消失的时候,它就转换成了后台进程。
所述前台进程、可见进程、服务进程、后台进程都属于非空进程,也就说,在这些进程的内部有数据和缓存。相应地,空进程指的是在这些进程内部,没有任何东西在运行。
本实施例通过清除进程结合释放缓存的机制,能够及时关闭后台占用内存较多的进程,并且保留释放缓存后占用内存较小的进程,缩短了用户重新进入移动终端的后台应用的平均时间,提高了用户体验。
实施例2
本实施例提供一种移动终端的内存管理方法,该内存管理方法是在实施例1基础上的进一步改进。
如图2所示,在执行内存管理时,考虑到空进程中没有任何数据和缓存,但是却占用一定的内存,因而可以先处理空进程,也就是说,在所述步骤S1之前还可以包括如下步骤:
步骤S0:判断所述移动终端的待处理进程是否是空进程;
若是所述空进程,则执行前述的步骤S3;若不是所述空进程,则执行前述的步骤S1。
本实施例通过优先处理空进程,可以为其他非空进程留出更多运行空间,有效提高了进程管理效率。
实施例3
本实施例提供一种移动终端的内存管理方法,如图3所示,所述内存管理方法是在实施例1基础上的进一步改进。
所述内存管理方法还可以包括如下步骤:
步骤S4:获取所述移动终端的当前的所述后台进程和空进程的总数量;
步骤S5:判断所述总数量是否小于第二预设阈值;
若小于所述第二预设阈值,则执行步骤S1;
若不小于所述第二预设阈值,则执行步骤S4。
本实施例中,为了保证整个内存管理方法的持续自动运行,所述步骤S3完成之后还可以返回所述步骤S4,也就是说,当目前的内存管理方法执行一次后,便可以继续判断是否仍然满足内存管理机制被触发的条件,如果仍然满足,则继续处理下一个进程。
本实施例通过判断后台进程和空进程的总数量是否小于第二预设阈值来判断***是否存在内存压力,若小于第二预设阈值,则认为其他进程(服务进程、可见进程、前台进程)已挤占了太多空间,不利于新的应用的打开或进入,也就是可以触发本实施例中的进程管理机制。
具体地,以通用的安卓***为例,通常情况下,安卓***的运行机制是较大限度的缓存后台进程,提高后续再次进入应用的速度,当安卓***的内存不足时会直接执行杀进程(即关闭进程),首先杀空进程和后台进程,以为其他进程空出内存,而当可用内存较多时***不会主动去清理此类进程。也就是说,通常以空进程和后台进程来衡量***是否具有内存压力并且通过调整空进程以及后台进程的状态来缓解内存压力。
本实施例以空进程以及后台进程的数量作为判断是否启动内存管理机制的依据,可以在***存在内存压力时及时对相应的进程执行关闭操作或者释放数据缓存的操作,进一步提高了用户体验。
实施例4
本实施例提供一种移动终端的内存管理方法,所述内存管理方法是在实施例1基础上的进一步改进。
如图4所示,所述步骤S1之前还可以包括:
步骤S6:根据预设维度计算所述移动终端的所述待处理进程的优先级,所述预设维度包括所述待处理进程占用的内存、所述待处理进程的业务类别、所述待处理进程被应用调用的次数中的至少一种。
由于进程是指***进行资源分配和调度的一个独立单位,因而所述待处理进程被应用调用的次数即对应了移动终端中的应用打开的频繁程度。
基于此,所述步骤S1具体可以包括:
步骤S10:获取所述优先级;
步骤S11:按照所述优先级由低到高的顺序检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值。
具体地,与所述优先级相关的三个维度占用的权重不同,例如:所述进程占用的内存(维度W1)的权重可以设置为A%,所述进程的业务类别(维度W2)的权重可以设置为B%、所述进程被应用调用的次数(维度W3)的权重可以设置为C%。
其中,维度W1还可以包括若干个调整系数,而这若干个调整系数会对整个维度W1所占的比重产生影响,具体地说,占用内存S满足S≤30M对应的调整系数为a1,占用内存S满足30M<S≤80M对应的调整系数为a2,占用内存S满足80M<S≤200M对应的调整系数为a3,占用内存S满足200M<S≤400M对应的调整系数为a4,占用内存S满足400M<S时对应的调整系数为a5。
维度W2可以包括若干个调整系数,而这若干个调整系数会对整个维度W2所占的比重产生影响,具体地说,业务类别属于前台业务时,对应的调整系数为b1,业务类别属于***业务时,对应的调整系数为b2,业务类别属于可感知业务时,对应的调整系数为b3,业务类别属于三方业务时,对应的调整系数为b4,业务类别属于后台业务时,对应的调整系数为b5。
所述维度W3也可以包括若干个调整系数,而这若干个调整系数会对整个的维度W3所占的比重产生影响,具体地说,每分钟内进程被应用调用的次数N满足N≤5时对应的调整系数为c1,每分钟内进程被应用调用的次数N满足5<N≤10时对应的调整系数为c2,每分钟内进程被应用调用的次数N满足10<N≤15时对应的调整系数为c3,每分钟内进程被应用调用的次数N满足15<N时对应的调整系数为c4。
若服务进程中的某个X1进程占用的内存为150M,其业务类别属于三方类别,每分钟内进程被应用调用的次数为3次,则该X1进程的优先级可以表示为:A%*a3+B%*b4+C%*c1。
若后台进程中的某个X2进程占用的内存为50M,其业务类别属于后台业务并且还属于可感知业务,每分钟内进程被应用调用的次数为7次,则该X进程的优先级可以表示为:A%*a2+B%*(b3+b5)+C%*c2。
进一步地,本实施例中,所述步骤S2之后还可以包括:
步骤S7:判断释放的所述数据缓存与所述待处理进程占用的内存之间的比值是否大于第三预设阈值;
若大于所述第三预设阈值,则执行步骤S8:保持所述待处理进程继续运行;若不大于所述第三预设阈值,则执行步骤S3:关闭所述待处理进程。
本实施例通过对不同的进程划分优先级,可以在管理进程的过程中,优先处理优先级较低的进程,尽可能的保留优先级较高的进程,从而缩短了经常使用的某些重要应用的再次进入时间,优化了进程管理模式。
实施例5
本实施例提供一种移动终端的内存管理***,如图5所示,所述内存管理***1可以包括:
检测模块10,用于检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值,所述待处理进程为非空进程;
若不大于所述第一预设阈值,则调用缓存释放模块11,所述缓存释放模块11用于释放所述待处理进程的数据缓存;
若大于所述第一预设阈值,则调用进程关闭模块12,所述进程关闭模块12用于关闭所述待处理进程。
具体地,所述数据缓存可以包括文件缓存、图片缓存、用户界面配置缓存中的至少一种。
本实施例中,所述待处理进程可以包括前台进程、可见进程、服务进程、后台进程中的至少一种。
其中,所述前台进程是指目前正在屏幕上执行显示业务的进程或者一些执行***业务的进程,也就是和用户正在交互的进程。例如,若用户正在使用聊天工具的聊天窗口跟对方聊天,在用户所使用的终端上,该聊天工具所占用的进程就是前台进程。
所述可见进程指部分程序界面能够被用户看见,却不在前台与用户交互的进程。例如,在一个界面上弹出一个对话框(该对话框是一个新的功能框),那么在该对话框后面的原界面是可见的,但是并没有与用户进行交互,那么原界面就是可见进程。
所述服务进程是通过启动服务接口的方法启动的进程,但不属于前台进程和可见进程。例如,在后台播放音乐或者在后台下载就是服务进程。
所述后台进程指的是目前对用户不可见的进程,例如,用户正在使用聊天工具和对方聊天,此时该聊天工具占用的即为前台进程,但是当用户点击Home键(即起始键)让聊天界面消失的时候,它就转换成了后台进程。
所述前台进程、可见进程、服务进程、后台进程都属于非空进程,也就说,在这些进程的内部有数据和缓存。相应地,空进程指的是在这些进程内部,没有任何东西在运行。
通过及时关闭后台占用内存较多的进程,并且保留释放缓存后占用内存较小的进程,缩短了用户重新进入移动终端的后台应用的平均时间,提高了用户体验。
在执行内存管理时,考虑空进程中没有任何数据和缓存,但是却占用一定的内存,因而可以先处理空进程,也就是说,所述内存管理***1还可以包括第一判断模块13,所述第一判断模块13用于判断所述移动终端的待处理进程是否是空进程,若是所述空进程,则调用所述进程关闭模块12;若不是所述空进程,则调用所述检测模块10。通过优先处理空进程,可以为其他非空进程留出更多运行空间,有效提高了进程管理效率。
所述内存管理***1还可以包括:进程数量获取模块14,用于获取所述移动终端的当前的所述后台进程和空进程的总数量;
第二判断模块15,用于判断所述总数量是否小于第二预设阈值;
若小于所述第二预设阈值,则调用所述检测模块10。
若不小于所述第二预设阈值,则调用所述进程数量获取模块14。
本实施例中,为了保证整个内存管理方法的持续自动运行,所述进程关闭模块12还可以调用所述进程数量获取模块14,也就是说,当目前的内存管理方法执行一次后,便可以继续判断是否仍然满足内存管理机制被触发的条件,如果仍然满足,则继续处理下一个进程。
本实施例通过判断后台进程和空进程的总数量是否小于第二预设阈值来判断***是否存在内存压力,若小于第二预设阈值,则认为其他进程(服务进程、可见进程、前台进程)已挤占了太多空间,不利于新的应用的打开或进入,也就是可以触发本实施例中的进程管理机制。
具体地,以通用的安卓***为例,通常情况下,安卓***的运行机制是较大限度的缓存后台进程,提高后续再次进入应用的速度,当安卓***的内存不足时会直接执行杀进程(即关闭进程),首先杀空进程和后台进程,以为其他进程空出内存,而当可用内存较多时***不会主动去清理此类进程。也就是说,通常以空进程和后台进程来衡量***是否具有内存压力并且通过调整空进程以及后台进程的状态来缓解内存压力。
以空进程以及后台进程的数量作为判断是否启动内存管理机制的依据,可以在***存在内存压力时及时对相应的进程执行关闭操作或者释放数据缓存的操作,进一步提高了用户体验。
所述内存管理***1还可以包括:优先级计算模块16,用于根据预设维度计算所述移动终端的所述待处理进程的优先级,所述预设维度包括所述待处理进程占用的内存、所述待处理进程的业务类别、所述待处理进程被应用调用的次数中的至少一种。
由于进程是指***进行资源分配和调度的一个独立单位,因而所述待处理进程被应用调用的次数即对应了移动终端中的应用打开的频繁程度。
具体地,与所述优先级相关的三个维度占用的权重不同,例如:所述进程占用的内存(维度W1)的权重可以设置为A%,所述进程的业务类别(维度W2)的权重可以设置为B%、所述进程被应用调用的次数(维度W3)的权重可以设置为C%。
其中,维度W1还可以包括若干个调整系数,而这若干个调整系数会对整个维度W1所占的比重产生影响,具体地说,占用内存S满足S≤30M对应的调整系数为a1,占用内存S满足30M<S≤80M对应的调整系数为a2,占用内存S满足80M<S≤200M对应的调整系数为a3,占用内存S满足200M<S≤400M对应的调整系数为a4,占用内存S满足400M<S时对应的调整系数为a5。
维度W2可以包括若干个调整系数,而这若干个调整系数会对整个维度W2所占的比重产生影响,具体地说,业务类别属于前台业务时,对应的调整系数为b1,业务类别属于***业务时,对应的调整系数为b2,业务类别属于可感知业务时,对应的调整系数为b3,业务类别属于三方业务时,对应的调整系数为b4,业务类别属于后台业务时,对应的调整系数为b5。
所述维度W3也可以包括若干个调整系数,而这若干个调整系数会对整个的维度W3所占的比重产生影响,具体地说,每分钟内进程被应用调用的次数N满足N≤5时对应的调整系数为c1,每分钟内进程被应用调用的次数N满足5<N≤10时对应的调整系数为c2,每分钟内进程被应用调用的次数N满足10<N≤15时对应的调整系数为c3,每分钟内进程被应用调用的次数N满足15<N时对应的调整系数为c4。
若服务进程中的某个X1进程占用的内存为150M,其业务类别属于三方类别,每分钟内进程被应用调用的次数为3次,则该X1进程的优先级可以表示为:A%*a3+B%*b4+C%*c1。
若后台进程中的某个X2进程占用的内存为50M,其业务类别属于后台业务并且还属于可感知业务,每分钟内进程被应用调用的次数为7次,则该X进程的优先级可以表示为:A%*a2+B%*(b3+b5)+C%*c2。
基于此,所述检测模块10用于获取所述优先级,并按照所述优先级由低到高的顺序检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值。
进一步地,所述内存管理***还包括:第三判断模块17,用于判断释放的所述数据缓存与所述待处理进程占用的内存之间的比值是否大于第三预设阈值。若大于所述第三预设阈值,则调用进程保持模块18,所述进程保持模块18用于保持所述待处理进程继续运行。若不大于所述第三预设阈值,则调用所述进程关闭模块12。
本实施例进一步通过对不同的进程划分优先级,可以在管理进程的过程中,优先处理优先级较低的进程,尽可能的保留优先级较高的进程,从而缩短了经常使用的某些重要应用的再次进入时间,优化了进程管理模式。
实施例6
本实施例提供一种电子设备,如图6所示,所述电子设备可以包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时实现实施例1-4任一实施例中的移动终端的内存管理方法的步骤。
可以理解的是,图6所示的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,电子设备2可以以通用计算设备的形式表现,例如:其可以为服务器设备。电子设备2的组件可以包括但不限于:上述至少一个处理器3、上述至少一个存储器4、连接不同***组件(包括存储器4和处理器3)的总线5。
所述总线5可以包括数据总线、地址总线和控制总线。
所述存储器4可以包括易失性存储器,例如随机存取存储器(RAM)41和/或高速缓存存储器42,还可以进一步包括只读存储器(ROM)43。
所述存储器4还可以包括具有一组(至少一个)程序模块44的程序工具45(或实用工具),这样的程序模块44包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
所述处理器3通过运行存储在所述存储器4中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1-4任一实施例中的移动终端的内存管理方法的步骤。
所述电子设备2也可以与一个或多个外部设备6(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口7进行。并且,模型生成的电子设备2还可以通过网络适配器8与一个或者多个网络(例如局域网LAN,广域网WAN和/或公共网络)通信。
如图6所示,网络适配器8可以通过总线5与模型生成的电子设备2的其它模块通信。本领域技术人员应当明白,尽管图中未示出,可以结合模型生成的电子设备2使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)***、磁带驱动器以及数据备份存储***等。
需要说明的是,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例7
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现实施例1-4任一实施例中的移动终端的内存管理方法的步骤。
其中,计算机可读存储介质可以采用的更具体方式可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行实现实施例1-4任一实施例中的移动终端的内存管理方法的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (10)

1.一种移动终端的内存管理方法,其特征在于,所述内存管理方法包括:
检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值,所述待处理进程为非空进程;
若不大于所述第一预设阈值,则释放所述待处理进程的数据缓存;
若大于所述第一预设阈值,则关闭所述待处理进程。
2.如权利要求1所述的移动终端的内存管理方法,其特征在于,所述检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值的步骤之前还包括:
判断所述移动终端的待处理进程是否是空进程;
若是所述空进程,则关闭所述待处理进程;
若不是所述空进程,则执行检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值的步骤。
3.如权利要求1所述的移动终端的内存管理方法,其特征在于,所述待处理进程包括后台进程;
所述内存管理方法还包括:获取所述移动终端的当前的所述后台进程和空进程的总数量;判断所述总数量是否小于第二预设阈值;若小于所述第二预设阈值,则执行检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值的步骤;
所述关闭所述待处理进程之后还包括:返回所述获取所述移动终端的当前的待处理进程和空进程的总数量的步骤。
4.如权利要求1所述的移动终端的内存管理方法,其特征在于,所述检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值的步骤之前还包括:根据预设维度计算所述移动终端的所述待处理进程的优先级,所述预设维度包括所述待处理进程占用的内存、所述待处理进程的业务类别、所述待处理进程被应用调用的次数中的至少一种;
所述检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值包括:获取所述优先级;按照所述优先级由低到高的顺序检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值。
5.如权利要求1-4任一项所述的移动终端的内存管理方法,其特征在于,
所述释放所述待处理进程的数据缓存之后还包括:判断释放的所述数据缓存与所述待处理进程占用的内存之间的比值是否大于第三预设阈值;若大于所述第三预设阈值,则保持所述待处理进程继续运行;若不大于所述第三预设阈值,则关闭所述待处理进程。
6.如权利要求1-4任一项所述的移动终端的内存管理方法,其特征在于,
所述数据缓存包括文件缓存、图片缓存、用户界面配置缓存中的至少一种。
7.如权利要求1-4任一项所述的移动终端的内存管理方法,其特征在于,所述待处理进程包括前台进程、可见进程、服务进程、后台进程中的至少一种。
8.一种移动终端的内存管理***,其特征在于,所述内存管理***包括:
检测模块,用于检测所述移动终端中待处理进程占用的内存与所述移动终端的总内存的比值是否大于第一预设阈值,所述待处理进程为非空进程;
若大于所述第一预设阈值,则调用缓存释放模块,所述缓存释放模块用于释放所述待处理进程的数据缓存;
若不大于所述第一预设阈值,则调用进程关闭模块,所述进程关闭模块用于关闭所述待处理进程。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行计算机程序时实现权利要求1-7任一项所述的移动终端的内存管理方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的移动终端的内存管理方法的步骤。
CN201910543245.1A 2019-06-21 2019-06-21 移动终端的内存管理方法、***、电子设备及存储介质 Pending CN110245021A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910543245.1A CN110245021A (zh) 2019-06-21 2019-06-21 移动终端的内存管理方法、***、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910543245.1A CN110245021A (zh) 2019-06-21 2019-06-21 移动终端的内存管理方法、***、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN110245021A true CN110245021A (zh) 2019-09-17

Family

ID=67888758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910543245.1A Pending CN110245021A (zh) 2019-06-21 2019-06-21 移动终端的内存管理方法、***、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110245021A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113391926A (zh) * 2021-06-28 2021-09-14 京东方科技集团股份有限公司 一种播放数据的方法、装置及电子设备
CN113722086A (zh) * 2020-05-26 2021-11-30 南宁富桂精密工业有限公司 应用进程守护方法、服务器及计算机可读存储介质
CN115309547A (zh) * 2022-07-31 2022-11-08 荣耀终端有限公司 处理异步binder调用的方法和装置
CN117785332A (zh) * 2024-02-28 2024-03-29 国维技术有限公司 一种虚拟三维空间动态资源加载释放方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160026571A1 (en) * 2014-07-24 2016-01-28 Nec Corporation Information processing device, memory order guarantee method, and recording medium storing program
CN105302637A (zh) * 2015-10-13 2016-02-03 广东欧珀移动通信有限公司 ***进程运行异常引起卡顿的恢复方法、装置及移动终端
CN106598880A (zh) * 2016-12-16 2017-04-26 深圳市金立通信设备有限公司 一种缓存管理的方法及终端
CN106897141A (zh) * 2015-12-21 2017-06-27 北京奇虎科技有限公司 信息的处理方法及装置
CN107220076A (zh) * 2016-09-27 2017-09-29 华为技术有限公司 一种内存回收方法及装置
CN107526641A (zh) * 2017-08-28 2017-12-29 青岛海信移动通信技术股份有限公司 一种回收内存的方法及装置
CN107608785A (zh) * 2017-08-15 2018-01-19 深圳天珑无线科技有限公司 进程管理方法、移动终端及可读储存介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160026571A1 (en) * 2014-07-24 2016-01-28 Nec Corporation Information processing device, memory order guarantee method, and recording medium storing program
CN105302637A (zh) * 2015-10-13 2016-02-03 广东欧珀移动通信有限公司 ***进程运行异常引起卡顿的恢复方法、装置及移动终端
CN106897141A (zh) * 2015-12-21 2017-06-27 北京奇虎科技有限公司 信息的处理方法及装置
CN107220076A (zh) * 2016-09-27 2017-09-29 华为技术有限公司 一种内存回收方法及装置
CN109213539A (zh) * 2016-09-27 2019-01-15 华为技术有限公司 一种内存回收方法及装置
CN106598880A (zh) * 2016-12-16 2017-04-26 深圳市金立通信设备有限公司 一种缓存管理的方法及终端
CN107608785A (zh) * 2017-08-15 2018-01-19 深圳天珑无线科技有限公司 进程管理方法、移动终端及可读储存介质
CN107526641A (zh) * 2017-08-28 2017-12-29 青岛海信移动通信技术股份有限公司 一种回收内存的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
魏栋等: "Android***的内存管理研究", 《单片机与嵌入式***应用》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113722086A (zh) * 2020-05-26 2021-11-30 南宁富桂精密工业有限公司 应用进程守护方法、服务器及计算机可读存储介质
CN113391926A (zh) * 2021-06-28 2021-09-14 京东方科技集团股份有限公司 一种播放数据的方法、装置及电子设备
CN115309547A (zh) * 2022-07-31 2022-11-08 荣耀终端有限公司 处理异步binder调用的方法和装置
CN115309547B (zh) * 2022-07-31 2023-08-29 荣耀终端有限公司 处理异步binder调用的方法和装置
CN117785332A (zh) * 2024-02-28 2024-03-29 国维技术有限公司 一种虚拟三维空间动态资源加载释放方法
CN117785332B (zh) * 2024-02-28 2024-05-28 国维技术有限公司 一种虚拟三维空间动态资源加载释放方法

Similar Documents

Publication Publication Date Title
CN110245021A (zh) 移动终端的内存管理方法、***、电子设备及存储介质
CN110727512B (zh) 集群资源调度方法、装置、设备及储存介质
CN104102543B (zh) 一种云计算环境中负载调整的方法和装置
US20190188012A1 (en) Method, device, terminal and storage medium for processing application
CN103226486B (zh) 对浏览器运行进行优化的方法和装置
CN105159736B (zh) 一种支持性能分析的SaaS软件部署方案的构建方法
CN106095363A (zh) 一种终端卡顿的改善方法、装置以及终端
CN108038040A (zh) 计算机集群性能指标检测方法、电子设备及存储介质
CN113806018B (zh) 基于神经网络和分布式缓存的Kubernetes集群资源混合调度方法
CN106385329A (zh) 资源池的处理方法、装置和设备
CN103701934A (zh) 一种资源优化调度方法及虚拟机宿主机优化选择方法
CN106506670A (zh) 一种云平台虚拟资源高速调度方法与***
CN108429783A (zh) 电子装置、配置文件推送方法及存储介质
CN108292162A (zh) 用于多线程访问的软件定义fifo缓冲器
CN110401695A (zh) 云资源动态调度方法、装置和设备
CN107623732A (zh) 一种基于云平台的数据存储方法、装置、设备及存储介质
CN110532100A (zh) 调度资源的方法、装置、终端及存储介质
CN110515721A (zh) 一种应用管理方法、装置、终端及计算机存储介质
CN105933154A (zh) 一种云计算资源的管理方法
CN114253683A (zh) 任务处理方法、装置、电子设备及存储介质
CN108306912A (zh) 虚拟网络功能管理方法及其装置、网络功能虚拟化***
CN110084476A (zh) 案件调整方法、装置、计算机设备和存储介质
CN106095417A (zh) 一种前景应用程序界面刷新同步方法及***
CN109460287A (zh) 资源混合调度的控制方法及***
CN115952054A (zh) 一种仿真任务资源管理方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190917