一种内存空间清理方法及装置的制造方法

文档序号:10534732阅读:183来源:国知局
一种内存空间清理方法及装置的制造方法
【专利摘要】本发明实施例提供一种内存空间清理方法及装置,通过获取操作系统中正在运行的所有进程中,占用内存最大的进程,并记录该进程所占用内存空间大小;将记录的所述进程所占用内存空间大小和可用内存空间大小进行比较,当比较结果为所述进程所占用内存空间大小大于所述可用内存空间大小时,按照预设规则,关闭当前运行的部分或者所有进程。采用本发明技术方案,设定清理内存的触发条件,当触发条件满足时,即清理内存,从而避免了内存空间长时间不清理所造成的内存占用过度的问题,使终端中应用程序的运行更加流畅,提高了系统性能;并且,动态设置清理内存空间的阈值,从而保证了当前正在运行的进程不会出现卡顿的问题,有效提高了用户体验。
【专利说明】
一种内存空间清理方法及装置
技术领域
[0001]本发明实施例涉及通信设备应用领域,尤其涉及一种内存空间清理方法及装置。
【背景技术】
[0002]在终端中,当应用程序运行时,应用程序中的内存动态空间申请语句会向操作系统申请用于存储数据的空间,此时,操作系统从内存中开辟一个动态空间并分配给该应用程序;当应用程序运行结束后,操作系统释放为该应用程序开辟的动态空间,以便其他程序运行时继续使用该内存中的动态空间。
[0003]而在安卓(Android)操作系统中,内存管理策略是在应用程序返回的时候,不释放该应用程序所申请的动态空间;此时,将导致内存空间越来越小,系统运行速度降低。当可用内存空间大小降低到一定程度时,可使操作系统运行非常缓慢,直至出现操作系统无法分配出动态空间,导致整个操作系统瘫痪的情况。
[0004]由此可见,目前安卓操作系统中,存在内存占用量过大的问题。

【发明内容】

[0005]本发明实施例提供一种内存空间清理方法及装置,用以解决目前安卓操作系统中,存在内存占用量过大的问题。
[0006]本发明实施例提供的具体技术方案如下:
[0007]本发明实施例提供一种内存空间清理方法,应用于安卓操作系统中,包括:
[0008]从所述操作系统中正在运行的所有进程中,获取占用内存最大的进程所占用内存空间大小;
[0009]获取当前时刻可用内存空间大小;
[0010]若所述进程所占用内存空间大小大于所述可用内存空间大小,则按照预设规则,关闭当前运行的部分或者所有进程。
[0011]本发明实施例提供一种内存空间清理装置,应用于安卓系统中,包括:
[0012]进程占用内存空间大小获取单元,用于从所述操作系统中正在运行的所有进程中,获取占用内存最大的进程所占用内存空间大小;
[0013]可用内存空间大小获取单元,用于获取当前时刻可用内存空间大小;
[0014]进程关闭单元,用于若所述进程所占用内存空间大小大于所述可用内存空间大小,则按照预设规则,关闭当前运行的部分或者所有进程。
[0015]本发明实施例提供一种内存空间清理方法及装置,通过获取操作系统中正在运行的所有进程中,占用内存最大的进程,并记录该进程所占用内存空间大小;将记录的所述进程所占用内存空间大小和可用内存空间大小进行比较,当比较结果为所述进程所占用内存空间大小大于所述可用内存空间大小时,按照预设规则,关闭当前运行的部分或者所有进程。采用本发明技术方案,设定清理内存的触发条件,当触发条件满足时,即清理内存,从而避免了内存空间长时间不清理所造成的内存占用过度的问题,使终端中应用程序的运行更加流畅,提高了系统性能;并且,动态获取当前时刻正在运行的所有进程中占用内存空间最大的进程,并将该获取的进程所占用的内存空间作为判断是否清理内存空间的阈值,从而保证了当前正在运行的进程不会出现卡顿的问题,有效提高了用户体验。
【附图说明】
[0016]图1为本发明实施例一中内存空间清理流程图;
[0017]图2为本发明实施例二中内存空间清理流程图;
[0018]图3为本发明实施例中内存空间清理装置结构示意图。
【具体实施方式】
[0019]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0020]下面结合说明书附图,对本发明实施例作进一步详细描述。
[0021]终端存在首次启动和非首次启动,本发明实施例中,针对首次启动和非首次启动清理内存的方法不同,下面结合具体应用场景,详细说明终端清理内存的过程。可选的,所述终端为手机,智能电视,电脑等。
[0022]实施例一
[0023]参阅图1所示,本发明实施例中,终端首次启动时,进行内存空间清理的过程,包括:
[0024]步骤100:从所述操作系统中正在运行的所有进程中,获取占用内存最大的进程所占用内存空间大小。
[0025]本发明实施例中,终端运行指定命令符,获取所述操作系统中正在运行的所有进程,以及每一个正在运行的进程所占用内存空间大小;并从获取的所有所占用内存空间大小中选取最大值。其中,所述指定命令符为ActivityManager.getProcessMemorylnfo。
[0026]可选的,终端可以接收其他设备或者用户发送的内存空间清理指令,当接收到内存空间清理指令时,运行指定命令符,从所述操作系统中正在运行的所有进程中,获取占用内存最大的进程所占用内存空间大小。其中,所述终端可以为包含人机交互界面的电子产品,用户可以通过该终端的人机交互界面,在终端中输入内存空间清理指令;可选的,所述终端中包含内存空间清理应用程序,当终端检测到用户触发内存空间清理应用程序时,即启动所述内存空间清理应用程序,并通过所述内存空间清理程序执行内存空间清理操作。
[0027]可选的,终端可以在本地预设内存空间清理周期,即当当前内存空间清理周期到达时,运行指定命令符,从所述操作系统中正在运行的所有进程中,获取占用内存最大的进程所占用内存空间大小;其中,所述预设内存空间清理周期可以根据具体应用场景设置。例如,将内存空间清理周期设置为3秒,自终端启动的时间点开始,终端启动本地的计时器开始计时,当计时器计时时长到达3秒时,终端执行内存空间清理操作,与此同时,所述计时器清零,并重新开始计时。采用上述技术方案,在终端预设内存空间清理周期,无须人工干预,更加可靠的清理内存,避免了当系统运行速度变慢时,用户才启动内存空间清理过程时,造成的操作系统中应用程序执行效率低的问题,有效提高了系统性能。
[0028]步骤110:获取当前时刻可用内存空间大小。
[0029]本发明实施例中,终端获取当前时刻可用内存空间大小。可选的,终端可以输入对应于可用内存空间大小获取的命令,获取所述当前时刻可用内存空间大小,如采用ActivityManager.MemoryInfo命令,获取所述当前时刻可用内存空间大小;此外,终端还可以通过运行可用内存空间大小获取应用程序,获取所述当前时刻可用内存空间大小。
[0030]步骤120:若所述进程所占用内存空间大小大于所述可用内存空间大小,则按照预设规则,关闭当前运行的部分或者所有进程。
[0031]本发明实施例中,终端将所述进程所占用内存空间大小与可用内存空间大小进行比较;若比较结果为所述进程所占用内存空间大小大于所述可用内存空间大小,则按照预设规则,关闭当前运行的部分或者所有进程;否则,终端不执行内存空间清理操作。
[0032]可选的,终端可以采用如下三种方式关闭当前运行的部分或者所有进程:
[0033]第一种方式:在本地预设白名单,该白名单中包含不被结束的进程的标识;获取当前正在运行的所有进程的标识;并针对获取的所有进程的标识中的任意一进程的标识,若判定预设的白名单中不存在所述任意一进程的标识,则关闭所述任意一进程的标识对应的进程。
[0034]可选的,终端可以通过所述操作系统的activitymanager服务的getRunningApp接口,获取当前正在运行的所有进程的标识。
[0035]可选的,所述终端可以通过所述操作系统的activitymanager服务的kiIIBackGround接口,关闭所述任意一进程的标识对应的进程。
[0036]由于在终端运行过程中,部分进程为终端运行操作系统必要的进程,因此,采用上述技术方案,终端能够在保证操作系统正常运行的基础,达到清理内存的目的。
[0037]第二种方式,终端本地可以包含人机交互界面;终端获取正在运行的所有进程的标识之后,将获取的所有进程的标识呈现在人际交互界面上;用户可以从所述人机交互界面上呈现的所有进程的标识中,选取需要清理的进程的标识;终端检测到用户输入确认清理选中进程的标识对应的进程时,即认为接收到进程清理指令;终端获取所述进程清理指令中包含的至少一个进程的标识;关闭获取的进程的标识对应的进程。
[0038]可选的,终端可以通过所述操作系统的activitymanager服务的getRunningApp接口,获取当前正在运行的所有进程的标识。
[0039]可选的,所述终端可以通过所述操作系统的activitymanager服务的ki I IBackGround接口,关闭所述任意一进程的标识对应的进程。
[0040]采用上述技术方案,终端能够根据用户的指令,确定需要清理的进程,使终端能够关闭用户不需要的进程,从而在保证内存被清理的同时,提高了终端的可操作性,达到提高用户体验的目的。
[0041]进一步的,终端还可以接收其他设备发送的进程清理指令;例如,当终端时智能电视时,用户可以通过与终端配套的遥控设备选中需要清理的进程的标识,并通过该遥控设备向终端发送进程清理指令。
[0042]第三种方式,终端本地可以包含人机交互界面;终端获取正在运行的所有应用程序的标识之后,将获取的所有应用程序的标识呈现在人际交互界面上;用户可以从所述人机交互界面上呈现的所有应用程序的标识中,选取需要清理的应用程序的标识;终端检测到用户输入确认清理选中应用程序的标识对应的进程时,即认为当接收到进程清理指令时,获取所述进程清理指令中包含的至少一个应用程序的标识;其中,所述至少一个应用程序为正在运行的应用程序;获取所述应用程序的标识对应的应用程序在运行时,占用内存的所有进程的标识;关闭获取的所有进程的标识对应的进程。
[0043]可选的,终端可以通过所述操作系统的activitymanager服务的getRunningApp接口,获取当前正在运行的所有进程的标识。
[0044]可选的,所述终端可以通过所述操作系统的activitymanager服务的ki I IBackGround接口,关闭所述任意一进程的标识对应的进程。
[0045]采用上述技术方案,终端能够根据用户的指令,确定需要清理的应用程序,使终端能够关闭用户不需要的应用程序运行时所产生的所有进程,从而在保证内存被清理的同时,提高了终端的可操作性,达到提高用户体验的目的。
[0046]进一步的,终端还可以接收其他设备发送的进程清理指令;例如,当终端时智能电视时,用户可以通过与终端配套的遥控设备选中需要清理的应用程序的标识,并通过该遥控设备向终端发送进程清理指令。
[0047]进一步的,终端在关闭之前,记录在本次启动过程中,占用内存空间最大的预设数目个进程,以及记录的各个进程所占用内存空间大小,并将记录的进程确定为历史进程。
[0048]本发明实施例中,将终端中正在运行的所有进程中,占用内存空间最大的进程所占用内存空间大小作为一个内存空间清理的阈值,当可用内存空间大小小于或等于所述阈值时,即清理内存;相较于设定固定阈值,当可用内存空间大小小于或等于该固定阈值时,即清理内存的方法,采用上述技术方案,动态改变用于清理内存的阈值,只要当前可用内存空间大小满足动态阈值,即使当前可用内存空间大小较小,也能够使得可用内存空间大小总是能够保证当前正在运行的占用内存空间最大的进程流畅运行,无须频繁调用内存空间清理过程,减轻了系统的负荷,提高了系统性能。
[0049]实施例二
[0050]参阅图2所示,本发明实施例中,终端非首次启动时,进行内存空间清理的过程,包括:
[0051]步骤200:在终端启动时,获取所述终端中存储的历史进程中,占用存储空间最大的历史进程所占用内存空间大小。
[0052]本发明实施例中,由于在终端每一次启动过程中,均需要记录本次启动过程中,占用内存空间大小最大的进程,因此,终端在本次启动时,直接从本地读取上次启动中,占用内存空间大小最大的历史进程(以下简称最大历史进程)即可,并获取所述最大历史进程所占用存储空间大小。
[0053]进一步的,在获取所述终端中存储的历史进程中,占用存储空间最大的历史进程所占用内存空间大小之后,终端检测本地是否包含所述最大历史进程对应的应用程序,若包含,则执行步骤210 ;否则,终端将确定所述最大历史进程对应的应用程序已经被卸载,此时,终端将从所述历史进程中剔除所述最大历史进程,并从剩余的历史进程中,选择占用内存空间最大的历史进程作为最大历史进程,并获取所述最大历史进程所占用内存空间大小。
[0054]采用上述技术方案,在终端启动时,即获取最大历史进程,并判断该最大历史进程对应的应用程序是否为本地的应用程序,避免了将本地已经不存在的应用程序运行时产生的进程作为最大历史进程时造成的动态阈值设置不合理,导致后续内存清理过于频繁造成的系统负担重的问题。
[0055]步骤210:从所述操作系统中正在运行的所有进程中,获取占用内存最大的进程所占用内存空间大小。
[0056]本发明实施例中,终端运行指定命令符,获取所述操作系统中正在运行的所有进程,以及每一个正在运行的进程所占用内存空间大小;并从获取的所有所占用内存空间大小中选取最大值。其中,所述指定命令符为ActivityManager.getProcessMemorylnfo。
[0057]可选的,终端可以接收其他设备或者用户发送的内存空间清理指令,当接收到内存空间清理指令时,运行指定命令符,从所述操作系统中正在运行的所有进程中,获取占用内存最大的进程所占用内存空间大小。其中,所述终端可以为包含人机交互界面的电子产品,用户可以通过该终端的人机交互界面,在终端中输入内存空间清理指令;可选的,所述终端中包含内存空间清理应用程序,当终端检测到用户触发内存空间清理应用程序时,即启动所述内存空间清理应用程序,并通过所述内存空间清理程序执行内存空间清理操作。
[0058]可选的,终端可以在本地预设内存空间清理周期,即当当前内存空间清理周期到达时,运行指定命令符,从所述操作系统中正在运行的所有进程中,获取占用内存最大的进程所占用内存空间大小;其中,所述预设内存空间清理周期可以根据具体应用场景设置。例如,将内存空间清理周期设置为3秒,自终端启动的时间点开始,终端启动本地的计时器开始计时,当计时器计时时长到达3秒时,终端执行内存空间清理操作,与此同时,所述计时器清零,并重新开始计时。采用上述技术方案,在终端预设内存空间清理周期,无须人工干预,更加可靠的清理内存,避免了当系统运行速度变慢时,用户才启动内存空间清理过程时,造成的操作系统中应用程序执行效率低的问题,有效提高了系统性能。
[0059]步骤220:若所述最大历史进程占用内存空间大小小于获取的所述进程所占用内存空间大小,则将所述获取的进程所占用内存空间大小确定为动态内存空间清理阈值;否贝1J,将所述最大历史进程占用内存空间大小确定为动态内存空间清理阈值。
[0060]本发明实施例中,将所述最大历史进程所占用内存空间大小与获取的所述进程所占用内存空间大小进行比较;当比较结果为所述最大历史进程占用内存空间大小小于获取的所述进程所占用内存空间大小时,将所述获取的进程所占用内存空间大小确定为动态内存空间清理阈值;当比较结果为所述最大历史进程占用内存空间大小大于或等于获取的所述进程所占用内存空间大小时,将所述最大历史进程占用内存空间大小确定为动态内存空间清理阈值。
[0061]采用上述技术方案,在终端启动后,正在运行的进程所占用内存空间小于所述最大历史进程占用内存空间大小时,即将所述最大历史进程所占用内存空间大小确定为动态内存空间清理阈值,从而避免了在后续最大历史进程被触发时,造成的内存空间不足,导致系统运行速度慢的问题,保证了系统中各个进程的流畅运行,提高了系统性能。
[0062]步骤230:获取当前时刻可用内存空间大小。
[0063]本发明实施例中,终端获取当前时刻可用内存空间大小。可选的,终端可以输入对应于可用内存空间大小获取的命令,获取所述当前时刻可用内存空间大小,如采用ActivityManager.MemoryInfo命令,获取所述当前时刻可用内存空间大小;此外,终端还可以通过运行可用内存空间大小获取应用程序,获取所述当前时刻可用内存空间大小。
[0064]步骤240:判断所述动态阈值是否大于所述可用内存空间大小,若是,执行步骤250 ;否则,执行步骤260。
[0065]步骤250:按照预设规则,关闭当前运行的部分或者所有进程。
[0066]本发明实施例中,终端将所述动态阈值与可用内存空间大小进行比较;若比较结果为所述动态阈值大于所述可用内存空间大小,则按照预设规则,关闭当前运行的部分或者所有进程。
[0067]可选的,终端可以采用如下三种方式关闭当前运行的部分或者所有进程:
[0068]第一种方式:在本地预设白名单,该白名单中包含不被结束的进程的标识;获取当前正在运行的所有进程的标识;并针对获取的所有进程的标识中的任意一进程的标识,若判定预设的白名单中不存在所述任意一进程的标识,则关闭所述任意一进程的标识对应的进程。
[0069]可选的,终端可以通过所述操作系统的activitymanager服务的getRunningApp接口,获取当前正在运行的所有进程的标识。
[0070]可选的,所述终端可以通过所述操作系统的activitymanager服务的ki I IBackGround接口,关闭所述任意一进程的标识对应的进程。
[0071]由于在终端运行过程中,部分进程为终端运行操作系统必要的进程,因此,采用上述技术方案,终端能够在保证操作系统正常运行的基础,达到清理内存的目的。
[0072]第二种方式,终端本地可以包含人机交互界面;终端获取正在运行的所有进程的标识之后,将获取的所有进程的标识呈现在人际交互界面上;用户可以从所述人机交互界面上呈现的所有进程的标识中,选取需要清理的进程的标识;终端检测到用户输入确认清理选中进程的标识对应的进程时,即认为接收到进程清理指令;终端获取所述进程清理指令中包含的至少一个进程的标识;关闭获取的所述进程的标识对应的进程。
[0073]可选的,终端可以通过所述操作系统的activitymanager服务的getRunningApp接口,获取当前正在运行的所有进程的标识。
[0074]可选的,所述终端可以通过所述操作系统的activitymanager服务的ki I IBackGround接口,关闭所述任意一进程的标识对应的进程。
[0075]采用上述技术方案,终端能够根据用户的指令,确定需要清理的进程,使终端能够关闭用户不需要的进程,从而在保证内存被清理的同时,提高了终端的可操作性,达到提高用户体验的目的。
[0076]进一步的,终端还可以接收其他设备发送的进程清理指令。
[0077]第三种方式,终端本地可以包含人机交互界面;终端获取正在运行的所有应用程序的标识之后,将获取的所有应用程序的标识呈现在人际交互界面上;用户可以从所述人机交互界面上呈现的所有应用程序的标识中,选取需要清理的应用程序的标识;终端检测到用户输入确认清理选中应用程序的标识对应的进程时,即认为当接收到进程清理指令时,获取所述进程清理指令中包含的至少一个应用程序的标识;其中,所述至少一个应用程序为正在运行的应用程序;获取所述应用程序的标识对应的应用程序在运行时,占用内存的所有进程的标识;关闭获取的所有进程的标识对应的进程。
[0078]可选的,终端可以通过所述操作系统的activitymanager服务的getRunningApp接口,获取当前正在运行的所有进程的标识。
[0079]可选的,所述终端可以通过所述操作系统的activitymanager服务的ki I IBackGround接口,关闭所述任意一进程的标识对应的进程。
[0080]采用上述技术方案,终端能够根据用户的指令,确定需要清理的应用程序,使终端能够关闭用户不需要的应用程序运行时所产生的所有进程,从而在保证内存被清理的同时,提高了终端的可操作性,达到提高用户体验的目的。
[0081]进一步的,终端还可以接收其他设备发送的进程清理指令。
[0082]步骤260:终端不执行内存空间清理操作。
[0083]本发明实施例中,终端在关闭之前,记录在本次启动过程中,占用内存空间最大的预设数目个进程,以及记录的各个进程所占用内存空间大小,并将记录的进程确定为历史进程。
[0084]相较于设定固定阈值,当可用内存空间大小小于或等于该固定阈值时,即清理内存的方法,采用上述技术方案,动态改变用于清理内存的动态内存空间清理阈值,只要当前可用内存空间大小满足动态内存空间清理阈值,即使当前可用内存空间大小较小,也能够使得可用内存空间大小总是能够保证当前正在运行的占用内存空间最大的进程流畅运行,无须频繁调用内存空间清理过程,减轻了系统的负荷,提高了系统性能。
[0085]实施例三
[0086]基于上述技术方案,参阅图3所示,本发明实施例中,提供一种内存空间清理装置,应用于安卓系统中,包括进程占用内存空间大小获取单元30,可用内存空间大小获取单元31,以及进程关闭单元32,其中:
[0087]进程占用内存空间大小获取单元30,用于从所述操作系统中正在运行的所有进程中,获取占用内存最大的进程所占用内存空间大小;
[0088]可用内存空间大小获取单元31,用于获取当前时刻可用内存空间大小;
[0089]进程关闭单元32,用于若所述进程所占用内存空间大小大于所述可用内存空间大小,则按照预设规则,关闭当前运行的部分或者所有进程。
[0090]可选的,所述进程占用内存空间大小获取单元30,具体用于:若当前内存空间清理周期到达,则运行指定命令符,从所述操作系统中正在运行的所有进程中,获取占用内存最大的进程所占用内存空间大小;或者,若接收到内存空间清理指令,则运行指定命令符,从所述操作系统中正在运行的所有进程中,获取占用内存最大的进程所占用内存空间大小。
[0091]进一步的,所述装置还包括处理单元33,用于:判获取占用内存最大的进程所占用内存空间大小之前,断所述操作系统是否为首次启动;当判定所述操作系统为非首次启动时,获取上次启动时所有运行的进程中占用内存最大的历史进程所占用的内存空间;获取占用内存最大的进程所占用内存空间大小之后,所述方法包括:将所述进程所占用内存空间大小和所述历史进程所占用内存空间大小进行比较;当比较结果为所述进程所占用内存空间大小小于所述历史进程所占用内存空间大小时,将所述进程所占用内存空间大小更新为所述历史进程所占用内存空间大小。
[0092]进一步的,所述方法还包括确定单元34,用于:获取上次启动时所有运行的进程中占用内存最大的历史进程所占用的内存空间之前,确定所述历史进程所对应的应用程序存在于本地。
[0093]可选的,所述进程关闭单元32,具体用于:获取当前正在运行的所有进程的标识;并针对获取的所有进程的标识中的任意一进程的标识,若判定预设的白名单中不存在所述任意一进程的标识,则关闭所述任意一进程的标识对应的进程;或者,当接收到进程清理指令时,获取所述进程清理指令中包含的至少一个进程的标识;关闭获取的所述进程的标识对应的进程;或者,当接收到进程清理指令时,获取所述进程清理指令中包含的至少一个应用程序的标识;其中,所述至少一个应用程序为正在运行的应用程序;获取所述应用程序的标识对应的应用程序在运行时,占用内存的所有进程的标识;关闭获取的所有进程的标识对应的进程。
[0094]综上所述,当终端为首次启动时,从所述操作系统中正在运行的所有进程中,获取占用内存最大的进程所占用内存空间大小,获取当前时刻可用内存空间大小,若所述进程所占用内存空间大小大于所述可用内存空间大小,则按照预设规则,关闭当前运行的部分或者所有进程;当终端为非首次启动时,在终端启动时,获取所述终端中存储的历史进程中,占用存储空间最大的历史进程所占用内存空间大小,从所述操作系统中正在运行的所有进程中,获取占用内存最大的进程所占用内存空间大小,若所述最大历史进程占用内存空间大小小于获取的所述进程所占用内存空间大小,则将所述获取的进程所占用内存空间大小确定为动态内存空间清理阈值;否则,将所述最大历史进程占用内存空间大小确定为动态内存空间清理阈值,获取当前时刻可用内存空间大小,判断所述动态阈值大于所述可用内存空间大小时,按照预设规则,关闭当前运行的部分或者所有进程。采用本发明技术方案,设定清理内存的触发条件,当触发条件满足时,即清理内存,从而避免了内存空间长时间不清理所造成的内存占用过度的问题,使终端中应用程序的运行更加流畅,提高了系统性能;并且,动态获取当前时刻正在运行的所有进程中占用内存空间最大的进程,并将该获取的进程所占用的内存空间作为判断是否清理内存空间的阈值,从而保证了当前正在运行的进程不会出现卡顿的问题,有效提高了用户体验。
[0095]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0096]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0097]最后应说明的是:以上实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。
【主权项】
1.一种内存空间清理方法,应用于安卓操作系统中,其特征在于,包括: 从所述操作系统中正在运行的所有进程中,获取占用内存最大的进程所占用内存空间大小; 获取当前时刻可用内存空间大小; 若所述进程所占用内存空间大小大于所述可用内存空间大小,则按照预设规则,关闭当前运行的部分或者所有进程。2.根据权利要求1所述的方法,其特征在于,从所述操作系统中正在运行的所有进程中,获取占用内存最大的进程所占用内存空间大小,具体包括: 若当前内存空间清理周期到达,则运行指定命令符,从所述操作系统中正在运行的所有进程中,获取占用内存最大的进程所占用内存空间大小;或者, 若接收到内存空间清理指令,则运行指定命令符,从所述操作系统中正在运行的所有进程中,获取占用内存最大的进程所占用内存空间大小。3.根据权利要求1所述的方法,其特征在于,获取占用内存最大的进程所占用内存空间大小之前,所述方法还包括: 判断所述操作系统是否为首次启动; 当判定所述操作系统为非首次启动时,获取上次启动时所有运行的进程中占用内存最大的历史进程所占用的内存空间; 获取占用内存最大的进程所占用内存空间大小之后,所述方法包括: 将所述进程所占用内存空间大小和所述历史进程所占用内存空间大小进行比较;当比较结果为所述进程所占用内存空间大小小于所述历史进程所占用内存空间大小时,将所述进程所占用内存空间大小更新为所述历史进程所占用内存空间大小。4.根据权利要求1所述的方法,其特征在于,获取上次启动时所有运行的进程中占用内存最大的历史进程所占用的内存空间之前,所述方法还包括: 确定所述历史进程所对应的应用程序存在于本地。5.根据权利要求1-4任一项所述的方法,其特征在于,按照预设规则,关闭当前运行的部分或者所有进程,具体包括: 获取当前正在运行的所有进程的标识;并 针对获取的所有进程的标识中的任意一进程的标识,若判定预设的白名单中不存在所述任意一进程的标识,则关闭所述任意一进程的标识对应的进程;或者, 当接收到进程清理指令时,获取所述进程清理指令中包含的至少一个进程的标识;关闭获取的所述进程的标识对应的进程;或者, 当接收到进程清理指令时,获取所述进程清理指令中包含的至少一个应用程序的标识;其中,所述至少一个应用程序为正在运行的应用程序;获取所述应用程序的标识对应的应用程序在运行时,占用内存的所有进程的标识;关闭获取的所有进程的标识对应的进程。6.一种内存空间清理装置,应用于安卓操作系统中,其特征在于,包括: 进程占用内存空间大小获取单元,用于从所述操作系统中正在运行的所有进程中,获取占用内存最大的进程所占用内存空间大小; 可用内存空间大小获取单元,用于获取当前时刻可用内存空间大小; 进程关闭单元,用于若所述进程所占用内存空间大小大于所述可用内存空间大小,则按照预设规则,关闭当前运行的部分或者所有进程。7.根据权利要求6所述的装置,其特征在于,所述进程占用内存空间大小获取单元,具体用于: 若当前内存空间清理周期到达,则运行指定命令符,从所述操作系统中正在运行的所有进程中,获取占用内存最大的进程所占用内存空间大小;或者, 若接收到内存空间清理指令,则运行指定命令符,从所述操作系统中正在运行的所有进程中,获取占用内存最大的进程所占用内存空间大小。8.根据权利要求6所述的装置,其特征在于,所述装置还包括处理单元,用于: 判获取占用内存最大的进程所占用内存空间大小之前,断所述操作系统是否为首次启动; 当判定所述操作系统为非首次启动时,获取上次启动时所有运行的进程中占用内存最大的历史进程所占用的内存空间; 获取占用内存最大的进程所占用内存空间大小之后,所述方法包括: 将所述进程所占用内存空间大小和所述历史进程所占用内存空间大小进行比较;当比较结果为所述进程所占用内存空间大小小于所述历史进程所占用内存空间大小时,将所述进程所占用内存空间大小更新为所述历史进程所占用内存空间大小。9.根据权利要求6所述的装置,其特征在于,所述方法还包括确定单元,用于: 获取上次启动时所有运行的进程中占用内存最大的历史进程所占用的内存空间之前,确定所述历史进程所对应的应用程序存在于本地。10.根据权利要求6-9任一项所述的装置,其特征在于,所述进程关闭单元,具体用于: 获取当前正在运行的所有进程的标识;并 针对获取的所有进程的标识中的任意一进程的标识,若判定预设的白名单中不存在所述任意一进程的标识,则关闭所述任意一进程的标识对应的进程;或者, 当接收到进程清理指令时,获取所述进程清理指令中包含的至少一个进程的标识;关闭获取的所述进程的标识对应的进程;或者, 当接收到进程清理指令时,获取所述进程清理指令中包含的至少一个应用程序的标识;其中,所述至少一个应用程序为正在运行的应用程序;获取所述应用程序的标识对应的应用程序在运行时,占用内存的所有进程的标识;关闭获取的所有进程的标识对应的进程。
【文档编号】G06F12/02GK105893267SQ201510660470
【公开日】2016年8月24日
【申请日】2015年10月14日
【发明人】曲仕辉
【申请人】乐视致新电子科技(天津)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1