一种内存清理方法与流程

文档序号:14056988阅读:374来源:国知局

本发明涉及数据处理领域,尤其涉及一种内存清理方法。



背景技术:

随着人们生活工作节奏的加快以及对生活品质要求的提高,智能手机以其强大的功能备受广大群众的青睐,并得到了广泛的应用。

智能手机上丰富的应用给用户带来各种各样体验的同时,随着智能手机上运行的应用程序越多,内存中空余空间越小,如果内存不足,无疑会制约智能手机中所有应用的运行速度。在现有的内存清理方法中,系统加速处理依赖于用户的操作,不能主动提升系统速度,释放内存空间;且不能将内存清理结果直观的展示给用户。



技术实现要素:

本发明的目的是针对现有技术的缺陷,提供一种内存清理方法,能够主动根据时间间隔监测内存使用率,根据内存使用率对内存进行清理,从而保证应用程序正常运行,又能及时对内存中不必要的应用程序进行删除,从而保证尽量少的后台进程,不仅可以起到提升系统流畅性的功能,还可以起到降低功耗的效果。

有鉴于此,本发明实施例提供了一种内存清理方法,包括:

用户终端根据预设时间间隔计算内存使用率;

判断所述内存使用率是否超过第一预设阈值;

当所述内存使用率超过第一预设阈值时,获取内存中的应用的进程状态信息;所述进程状态信息包括运行状态、就绪状态和睡眠状态;

根据预设清理规则和所述应用的进程状态信息进行内存清理。

优选的,在所述根据预设时间间隔计算内存使用率之前,所述方法还包括:

设定所述预设清理规则。

优选的,所述方法还包括:

接收用户输入的锁屏指令,根据所述锁屏指令生成内存监测指令;

根据所述监测指令计算内存使用率;

判断所述内存使用率是否超过第一预设阈值;

当所述内存使用率超过第一预设阈值时,进行内存清理。

优选的,所述方法还包括:

接收用户输入的内存清理指令;

根据所述内存清理指令计算内存使用率;

判断所述内存使用率是否高于第二预设阈值;

当所述内存使用率高于所述第二预设阈值时,获取可用内存数据,并进行内存空间清理;

获取清理后的可用内存数据,根据清理前的所述可用内存数据、所述清理后的可用内存数据和内存总量数据计算内存清理率;

根据所述清理后的可用内存数据和内存清理率生成内存清理结果展示信息。

优选的,在所述判断所述内存使用率是否高于第二预设阈值之后,所述方法还包括:

当所述内存使用率不高于所述第二预设阈值时,生成提示信息。

进一步优选的,所述计算内存使用率具体为:

获取内存使用数据和内存总量数据,并根据所述内存使用数据和内存总量数据生成所述内存使用率。

优选的,在所述根据预设清理规则和所述应用的进程状态信息进行内存清理之前,所述方法还包括:

生成清理提示信息;

接收用户根据所述清理提示信息输入的清理确认信息。

进一步优选的,所述当所述内存使用率超过第一预设阈值时,进行内存清理具体为:

当所述内存使用率超过第一预设阈值时,根据应用的进程优先级对内存中应用进行清理。

本发明实施例提供的一种内存清理方法,能够主动根据时间间隔监测内存使用率,根据内存使用率对内存进行清理,从而保证应用程序正常运行,又能及时对内存中不必要的应用程序进行删除,从而保证尽量少的后台进程,不仅可以起到提升系统流畅性的功能,还可以起到降低功耗的效果。

附图说明

图1为本发明实施例提供的一种内存清理方法流程图。

具体实施方式

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

图1为本发明实施例提供的一种内存清理方法流程图,如图1所示,包括:

步骤101,用户终端根据预设时间间隔计算内存使用率;

其中,用户终端具体可以理解为具有输入、显示、通信及数据处理功能的终端设备,例如,智能手机或其他手持终端等。

具体的,用户终端根据预设时间间隔,获取内存中应用程序的使用数据以及用户终端内存的内存总量数据,并根据内存使用数据和内存总量数据计算出当前内存使用率。

为保证应用程序在用户终端上的运行速度,本领域技术人员可以根据需要对预设时间间隔进行设定,比如将预设时间间隔设置为半小时。

步骤102,判断内存使用率是否超过第一预设阈值;

其中,第一预设阈值可以是用户预先在用户终端设定并进行保存的,也可以是用户终端默认设置的,第一预设阈值可以为60%。

当内存使用率超过第一预设阈值时,说明此时用户终端的应用程序使用的内存过多,可能影响其它应用程序的执行效率,因此需要对用户终端内存中的没有运行的应用程序进程进行清理。

当内存使用率没有超过第一预设阈值时,说明此时用户终端的应用程序内存使用率正常,不会影响其它应用程序的执行效率,因此无需进行内存清理。

因此,当内存使用率没有超过第一预设阈值时,用户终端不对内存应用进行清理。

当内存使用率超过第一预设阈值时,执行步骤103,获取内存中的应用的进程状态信息;

其中,内存中的每个应用都对应一个进程状态信息,进程状态信息具体可以包括运行状态、就绪状态和睡眠状态;需要说明的是,进程状态信息是根据操作系统和进程执行优先级等条件综合判断的,进程状态信息也可以理解为是在系统中的进程执行状态。

具体的,当内存使用率超过第一预设阈值时,说明此时需要对用户终端内存中的应用程序进程进行清理,用户终端通过操作系统api获取内存中所有应用的进程状态信息,并根据应用的进程状态信息进行后续处理。

步骤104,根据预设清理规则和应用的进程状态信息进行内存清理。

其中,设定预设清理规则是预先设定的,在预设清理规则中包括进程状态信息。

内存的清理是通过调用加速算法完成的,具体的,获取所有后台运行的应用进程,然后调用系统提供的清理后台进程的api,根据预设清理规则和应用的进程状态信息,清理内存中的应用,同时释放掉内存占用。

在一个具体的例子中,在预设清理规则中包括就绪状态和睡眠状态,当内存使用率超过第一预设阈值时,用户终端的操作系统清理进程状态信息为就绪状态或睡眠状态的应用程序,从而将非运行状态的应用程序进行清理,这样既能保证正在运行的应用程序正常运行,又能及时对内存中不必要的应用程序进行删除,从而保证尽量少的后台进程,不仅可以起到提升系统流畅性的功能,还可以起到降低功耗的效果。

在另一个具体的例子中,在预设清理规则中还可以包括运行状态、就绪状态和睡眠状态三种状态,也就是说,当内存使用率超过第一预设阈值时,通过操作系统提供的清理后台进程的api清理后台运行的所有应用程序,释放内存占用空间,从而保证系统的运行速度时刻处于最佳状态,减少用户终端的能耗,保证下一应用程序运行的流畅性。

在又一个具体的例子中,用户在使用应用的过程中,除了想保留正在运行的应用外,还想保留一些比如一段时间后想要用到的应用,因此在预设清理规则中还可以只包括睡眠状态,也就是说,当内存使用率超过第一预设阈值时,用户终端的操作系统清理进程状态信息为睡眠状态的应用程序,从而保留运行状态和就绪状态的应用程序,进而在保证用户所需的应用程序没有被清理的同时,又能提升系统流畅性的功能,还可以起到降低功耗的效果。

上述步骤101至步骤105提供了一种非用户触发的内存清理模式,能够根据时间间隔监测内存使用率,根据内存使用率对内存进行清理,从而保证应用程序正常运行,又能及时对内存中不必要的应用程序进行删除,从而保证尽量少的后台进程,不仅可以起到提升系统流畅性的功能,还可以起到降低功耗的效果。

在优选的实施例中,当用户终端处于锁屏状态时,也能对内存状态进行清理,具体的,用户终端接收用户输入的锁屏指令,根据锁屏指令生成内存监测指令;根据监测指令计算内存使用率,其中,内存使用率的计算方法与步骤101中的计算方法相同,此处不再赘述;判断内存使用率是否超过第一预设阈值;当内存使用率超过第一预设阈值时,根据应用的进程优先级对内存中应用进行清理,其中,每个应用都对应一个进程优先级,进程优先级有高低之分,在清理内存中的应用程序时,对进程优先级低的应用进行清理,从而保证进程优先级高的应用程序能够在用户打开手机屏幕时的正常使用。

为了提升用户体验度,保证内存清理不会给用户的使用带来不便,在清理应用之前,用户终端生成清理提示信息,清理提示信息具体可以为当前内存使用率已经达到50%,建议您进行清理;用户终端接收用户根据清理提示信息输入的清理确认信息,然后用户终端根据预设清理规则和应用的进程状态信息进行内存清理。

本发明还提供了触发式的内存清理方法,具体的,用户终端接收用户在用户界面输入的内存清理指令;根据内存清理指令计算内存使用率,其中,内存使用率的计算方法与步骤101中的计算方法相同,此处不再赘述;判断内存使用率是否高于第二预设阈值,其中,第二预设阈值可以是用户预先在用户终端设定并进行保存的,也可以是用户终端默认设置的,第二预设阈值可以为50%;当内存使用率不高于第二预设阈值时,生成提示信息。在一个具体的例子中,用户可以点击用户终端工具栏的加速按钮,此时若系统内存使用率低于50%,则告知用户“您的手机已经很干净了不需要清理”。

当内存使用率高于第二预设阈值时,获取可用内存数据,并调用内存加速算法进行内存空间清理;获取清理后的可用内存数据,根据清理前的可用内存数据、清理后的可用内存数据和内存总量数据计算内存清理率;根据清理后的可用内存数据和内存清理率生成内存清理结果展示信息,从而使用户了解内存清理情况,让用户更放心的使用应用,提升用户体验度。

本发明实施例提供的一种内存清理方法,能够主动根据时间间隔监测内存使用率,根据内存使用率对内存进行清理,从而保证应用程序正常运行,又能及时对内存中不必要的应用程序进行删除,从而保证尽量少的后台进程,不仅可以起到提升系统流畅性的功能,还可以起到降低功耗的效果。

专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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