内存清理系统和内存清理方法与流程

文档序号:12747857阅读:340来源:国知局
内存清理系统和内存清理方法与流程

本发明涉及智能终端领域,尤其涉及一种内存清理系统和内存清理方法。



背景技术:

智能终端目前普遍使用安卓系统,例如安卓手机、安卓平板电脑等,由于智能终端的内存有限,随着大量应用软件的出现,内存经常被长时间不用或不常用的应用软件的后台进程占用,导致空闲内存空间减少,启动新程序的速度越来越慢,系统越来越卡。

智能终端的操作系统一般自带内存清理机制,一般是在系统内存不足时,根据设定的内存剩余比例要求对内存进行回收。具体的,当内存剩余比例小于设定值时,根据进行优先级,选择关闭优先级最低的进程,从而对该进程占用的内存进行清理。但是随着稚嫩终端使用的应用程序增多,大量进程出现,现有的内存清理机制已经无法都满足日益增加的内存使用需求。

因此需要一种更加高效的内存清理系统和内存清理方法。



技术实现要素:

本发明所要解决的技术问题是,提供一种内存清理系统和内存清理方法,提高内存清理的效率。

研究发现,现有的内存清理机制通常针对单个进程占用的内存进行回收,请参考图1,为现有内存清理方法的流程示意图。步骤S1判断系统内存不足后进行步骤S2对进程进行回收,判断可被回收的进程;步骤S3关闭进程A;步骤S4进一步判断所述进程A是否被系统内存清理机制关闭,若是则执行步骤S5主动回收进程A占用内存里的垃圾文件,若否则直接结束该内存清理过程。

由于上述内存清理机制每次只能关闭一个进程,能够回收的内存有限,需要回收多次才能够满足需求,清理效率较低;并且,被关闭的进行可能是相关应用软件的多个进程之一,可能被该应用软件的其他活动的进程再次重启,无法做到内存的释放,并且进程重启还会耗费CPU资源,导致系统卡顿。

为了解决上述问题,本发明提供了一种内存清理系统和内存清理方法,在关闭单个进程的基础上,关闭该进程所属的应用程序,提高内存清理的效率。

所述内存清理系统包括:进程关闭模块,用于在内存不足的情况下,关闭一可回收进程;应用程序停止模块,与所述进程关闭模块连接,用于停止已被关闭的可回收进程所属的应用程序;垃圾回收模块,与所述应用程序停止模块连接,用于回收已被关闭的进程以及已被停止的应用程序在运行期间所产生的垃圾文件,释放内存空间。

可选的,还包括:压缩模块,与所述垃圾回收模块连接,用于对后台进程的文件进行压缩和整理。

可选的,所述应用程序停止模块还用于停止低使用率的应用程序。

可选的,所述应用程序停止模块包括第一判断单元,用于判断被关闭的进程是否由进程关闭模块自动关闭。

可选的,所述应用停止模块包括第二判断单元,用于判断已被关闭的可回收进程所属的应用程序是否属于保护应用。

可选的,所述应用停止模块还包括应用程序停止单元,用于停止应用程序。

可选的,所述保护应用包括前台应用、系统应用、以及保护名单内的应用。

可选的,设置模块,用于设置保护名单内容。

可选的,所述进程关闭模块用于根据进程的优先级以及占用内存大小,选择一可回收进程进行关闭。

为了解决上述问题,本发明还提供一种内存清理方法,包括:在内存不足的情况下,关闭一可回收进程;停止已被关闭的所述可回收进程所属的应用程序;回收已被关闭的进程以及已被停止的应用程序在运行期间所产生的垃圾文件,释放内存空间。

可选的,还包括:在停止已被关闭的可回收进程所属的应用程序之前,先判断已被关闭的可回收进程所属的应用程序是否属于保护应用,若否,则停止所述应用程序。

可选的,所述保护应用包括前台应用、系统应用、以及保护名单内应用。

可选的,还包括设置保护名单。

可选的,还包括:对后台进程的文件进行压缩和整理。

可选的,还包括:停止低使用率的应用程序。

可选的,当内存剩余比例等于或大于预设值时,停止内存清理。

本发明的技术方案的内存清理系统和内存清理方法,能够在关闭一进程的基础上,进一步关闭该进程所属的应用程序,释放更多的内存;进一步还用于停止使用率较低的应用程序以及进程文件进行压缩和整理,释放更多的内存,提高内存清理效率。

附图说明

图1为本发明的现有技术的内存清理方法的流程示意图;

图2为本发明一具体实施方式的内存清理系统的模块结构示意图;

图3为本发明一具体实施方式的内存清理系统中的应用程序停止模块的结构示意图;

图4为本发明一具体实施方式的内存清理系统的模块结构示意图;

图5为本发明一具体实施方式的内存清理系统的模块结构示意图;

图6为本发明一具体实施方式的内存清理方法的流程示意图;

图7为本发明一具体实施方式的内存清理方法的流程示意图;

图8为本发明一具体实施方式的内存清理方法的流程示意图。

具体实施方式

下面结合附图对本发明提供的内存清理系统和内存清理方法的具体实施方式做详细说明。

请参考图2,为本发明一具体实施方式的内存清理系统的模块结构示意图。

所述内存清理系统包括:进程关闭模块110,用于在系统内存不足的情况下,关闭一可回收进程;应用程序停止模块120,用于停止已被关闭的可回收进程所属的应用程序;垃圾回收模块130,用于回收已被关闭的进程以及已被停止的应用程序在运行期间所产生的垃圾文件,释放内存空间。

智能终端上的应用程序在运行时会产生一个或多个进程,每个进程都会占用一部分的内存,应用程序运行的越多,内存被占用越多,导致内存不足。通常将内存的剩余量或剩余比例小于预设值时,可以认为内存不足,需要进行内存清理。所述预设值可以根据智能终端的CPU性能以及用户要求进行设定,例如为30%或40%等。

所述进程关闭模块110用于在内存不足时,关闭一可回收进程,以使得被该进程占据的内存能够被释放,从而提高内存的剩余比例。每一个进程按照重要程度都会有自己的优先级,每一个优先级对应一个最低内存剩余量或剩余比例。所述进程关闭模块110用于根据进程的优先级以及该进程所占据的内存量,选择要关闭的进程,例如:根据内存剩余量,选择该剩余量对应的优先级的若干进程,然后再选择其中占用内存量最大的进程,作为要关闭的进程进行关闭。一旦该进程关闭,该进程所占用的内存就处于不被使用状态,可以进行回收,从而提高内存剩余量。

由于应用程序在运行时通常会启动多个进程,当其中一个进程被关闭之后,其他进程还处于活动状态,可能会需要调用已经关闭的进程,使得该进程重启。所以,所述应用程序停止模块120,可以在进程关闭模块110关闭某一进程的基础上,停止该进程所属的应用程序,从而使该应用程序的所有进程都被关闭,进一步释放更多的可回收内存,同时避免已关闭的进程发生重启。

在本发明的另一实施方式中,所述应用程序停止单元130还可以用于根据应用程序的使用情况,停止其他使用率较低的应用程序。所述使用率较低的应用程序占用内存,但是却很少被使用。

被关闭的进程以及被停止的应用程序,在之前的运行过程中,通常会产生大量的数据存储在内存空间中,例如缓存的图片、缩略图、数据、日志、注册信息等不被使用的垃圾文件,占用内存空间,需要对这些垃圾文件进行回收删除,并对内存单元进行整理。所述垃圾回收模块130用于回收已被关闭的进程以及已被停止的应用程序所占据的内存空间内的垃圾文件,以使得这些内存被清空,作为剩余内存。

请参考图3为本发明的一种实施方式中的应用停止模块120的结构示意图。

在上述具体实施方式的基础上,该实施方式中的应用停止模块120进一步包括第一判断单元121、第二判断单元122以及应用程序停止单元123。

所述第一判断单元121用于判断被关闭的进程是否由进程关闭模块110自动关闭。在智能终端使用的过程中,用户通常会手动关闭某个应用程序或某个进程,并非是由于内存不足的原因。所以,所述第一判断单元121用于对进程关闭的原因进行筛选,以判断是否可以继续执行后续的内存清理操作。

第二判断单元122,在第一判断单元121的判断结果基础上,继续用于判断已被关闭的可回收进程所属的应用程序是否属于保护应用。所述保护应用通常为重要应用,包括正在使用的前台应用、系统应用以及位于保护名单内的应用。所述保护名单通常由用户设定或系统默认设置,为使用率高,对于用户来讲较为重要的应用。保护应用被关闭,通常会对智能终端的系统以及用户使用造成负面的影响,所以,需要对已被关闭的可回收进程所属的应用程序是否属于保护应用进行判断,只有不属于保护应用的应用层序才会被停止。

所述应用程序停止单元123用于根据第二判断单元122的判断结果,对选定的应用程序进行关闭。所述选定的应用程序包括已被关闭的可回收进程所属的应用程序以及低使用率的应用。

请参考图4,为本发明的一种实施方式中的内存清理系统的模块结构示意图。

在上述具体实施方式的基础上,该实施方式的内存清理系统还包括设置模块140,所述设置模块140与应用程序停止模块120连接,用于设置应用程序的白名单,可以是用户自定义设置,也可以由系统进行默认设置。所述白名单是在内存清理中不可以被停止的应用程序名单。

所述设置模块140设置的白名单可以由应用程序停止模块120调用,作为判断应用程序是否可以被停止的判断依据。

请参考图5,为本发明的一种实施方式中的内存清理系统的模块结构示意图。

在上述实施方式的基础上,该实施方式的内存清理系统还包括压缩模块150。

所述压缩模块150用于对内存中运行的所有进程活动产生的文件进行压缩,使其占用的内存空间减少;并通过移动文件对内存进行碎片整理,使内存的使用效率提高。

所述压缩模块150与垃圾回收模块130连接,所述垃圾回收模块130还用于在压缩模块150对文件进行压缩和整理后产生的垃圾文件进行回收。

综上,上述实施方式的内存清理系统用于在关闭一进程的基础上,进一步关闭该进程所属的应用程序,释放更多的内存;进一步还用于停止使用率较低的应用程序以及进程文件进行压缩和整理,释放更多的内存,提高内存清理效率。上述内存清理系统可以设置于系统架构层,与第三方内存清理软件相比,具有更高的权限,可以直接对进程和应用程序进行关闭操作;而第三方内存清理了软件需要反复多次调用系统架构层的结口,造成系统进程负担加重,并且调用过程还会产生垃圾文件。

基于上述内存清理系统,本发明的实施方式还提供一种内存清理方法。

请参考图6,为本发明一实施方式的内存清理方法的流程示意图。

本发明的内存清理方法包括:步骤S10:在内存不足的情况下,关闭一可回收进程;步骤S20:停止已被关闭的所述可回收进程所属的应用程序;步骤S30:回收已被关闭的进程以及已被停止的应用程序在运行期间所产生的垃圾文件,释放内存空间。

智能终端上的应用程序在运行时会产生一个或多个进程,每个进程都会占用一部分的内存,应用程序运行的越多,内存被占用越多,导致内存不足。通常将内存的剩余量小于预设值时,可以认为内存不足,需要进行内存清理。所述预设值可以根据智能终端的CPU性能以及用户要求进行设定,例如为30%或40%等。

步骤S10通过关闭一可回收进程,以使得被该进程占据的内存能够被释放,从而提高内存剩余比例。根据进程的优先级以及该进程所占据的内存量,选择要关闭的进程,例如根据内存剩余量,选择对应的优先级的若干进程,然后再选择其中占用内存量最大的进程,作为要关闭的进程进行关闭。一旦该进程关闭,该进程所占用的内存就处于不被使用状态,可以进行回收,从而提高内存剩余量。

由于应用程序在运行时通常会启动多个进程,当其中一个进程被关闭之后,其他进程还处于活动状态,可能会需要调用已经关闭的进程,使得该进程重启。步骤20在进程关闭模块110关闭某一进程的基础上,停止该进程所属的应用程序,从而使该应用程序的所有进程都被关闭,进一步释放更多的可回收内存,同时避免已关闭的进程发生重启。

在本发明的一个实施方式中,步骤20在停止已被关闭的可回收进程所属的应用程序之前,对进程关闭的原因进行筛选。在智能终端使用的过程中,用户通常会手动关闭某个应用程序或某个进程,并非是由于内存不足的原因。若不是用户手动关闭进程,而是通过内存清理系统关闭则继续执行后续的内存清理操作。

在本发明的一个实施方式中,步骤20在停止已被关闭的可回收进程所属的应用程序之前,还需要进一步判断所述应用程序是否属于保护应用。所述保护应用通常为重要应用,包括正在使用的前台应用、系统应用以及位于保护名单内的应用。所述保护名单通常由用户设定或系统默认设置,为使用率高,对于用户来讲较为重要的应用。保护应用被关闭,通常会对智能终端的系统以及用户使用造成负面的影响,所以,需要对已被关闭的可回收进程所属的应用程序是否属于保护应用进行判断,只有不属于保护应用的应用层序才会被停止。

被关闭的进程以及被停止的应用程序,在之前的运行过程中,通常会产生大量的数据存储在内存空间中,例如缓存的图片、缩略图、数据、日志、注册信息等不被使用的垃圾文件,占用内存空间,需要对这些垃圾文件进行回收删除并对内存单元进行整理。步骤30通过回收上述垃圾文件,以使得这些内存被清空,提高内存剩余量。

请参考图7,为本发明的另一实施方式的内存清理方法流程图。

在上述内存清理方法的基础上,该实施方式的清理方法增加步骤S21:停止低使用率的应用程序;步骤S22:对后台进程的文件进行压缩和整理。在上述步骤S20结束之后,可以根据内存剩余情况选择是否继续执行步骤S21或/和步骤S22。具体的,若步骤S20结束之后,内存剩余量已满足预设要求,则可以停止执行步骤S21和步骤S22,否则继续执行步骤S21或/和步骤S22,直至内存剩余量满足预设值要求。

步骤S21通过遍历后台应用程序,根据应用程序的使用情况,停止其中使用率较低的应用程序。所述使用率较低的应用程序占用内存,但是却很少被使用,这样可以释放不被使用的内存空间。

步骤S22也通过遍历内存中所有运行的后台进程,对进程活动产生的文件进行压缩,使其占用的内存空间减少;并通过移动文件对内存进行碎片整理,使内存的使用效率提高。

在本发明的其他实施方式中,所述步骤S21和步骤S22的执行顺序可以交换,还可以在步骤S10之前执行所述步骤S21或步骤S22。

上述内存清理方法,在关闭一可回收进程的基础上,继续停止该进程所属的应用程序,进一步释放内存空间,同时防止进程自启动,提高内存清理效率。并且,还可以继续遍历后台进程,停止低使用率应用程序,对进程文件进行压缩和整理,进一步对内存进行回收,最后进行内存垃圾回收,释放内存空间,提高内存剩余量。上述内存清理方法下效率提高,且系统负担较小,功耗较低。

下面结合一具体实施方式,对内存清理方法作进一步的描述。

请参考图8,所述内存清理方法包括:步骤S40判断系统内存不足后进行步骤S41对进程进行回收,判断可被回收的进程;步骤S42关闭进程A;步骤S43进一步判断所述进程A是否被系统内存清理机制关闭,若否则直接结束该内存清理过程;若是则执行步骤S44至S46,分别判断该进程所属的应用是否为前台应用、系统应用或保护名单内应用,如不属于以上应用,则执行步骤S47停止进程A所述应用,然后执行步骤S48查找并停止使用率低的应用,如属于以上任一应用则执行步骤S48:查找并停止使用率低的应用;然后继续执行步骤S49压缩后台进程;最终执行S50主动回收垃圾。

上述方法在执行过程中,任一步骤使得内存剩余量满足预设要求就可以停止后续清理步骤。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1