应用程序的管理方法、管理装置和终端与流程

文档序号:11829165阅读:205来源:国知局
应用程序的管理方法、管理装置和终端与流程

本发明涉及终端技术领域,具体而言,涉及一种应用程序的管理方法、一种应用程序的管理装置和一种终端。



背景技术:

目前,在终端的后台总是开启大量的应用程序,应用程序在后台运行的同时会产生很多进程或者服务,往往这些进程或者服务占据了许多的CPU(Central Processing Unit,中央处理单元)资源或者内存,从而导致前台运行的应用程序出现卡顿等现象,严重影响了用户的体验。

因此,如何提高在前台运行的应用程序的运行效率,避免在前台运行的应用程序出现卡顿的现象成为亟待解决的技术问题。



技术实现要素:

本发明正是基于上述问题,提出了一种新的技术方案,可以提高在前台运行的应用程序的运行效率,进而有效地防止在前台运行的应用程序出现卡顿的现象。

有鉴于此,本发明的第一方面提出了一种应用程序的管理方法,包括:当任一应用程序在前台运行时,在运行链表中获取与所述任一应用程序不相关的目标运行实体;对所述目标运行实体进行控制,以降低所述目标运行实体与CPU之间的交互频率。

在该技术方案中,当任一应用程序在前台运行时,确定与该任一应用程序不相关的目标运行实体,其中,目标运行实体包括有进程和服务,然后对目标运行实体进行限制以降低目标运行实体与CPU之间的交互频率,这样,在保证前台运行的应用程序正常使用的同时,可以节省出更多的内存或者CPU资源,从而保证在前台运行的应用程序的运行效率,进而有效地防止在前台运行的应用程序出现卡顿的现象。

在上述技术方案中,优选地,对所述目标运行实体进行控制的步骤,具体包括:将所述目标运行实体挂起;或者在预定时间内禁止所述目标运行实体与所述CPU之间进行交互。

在该技术方案中,通过将目标运行实体挂起,即不执行目标运行实体,或者在预定时间内禁止目标运行实体与CPU之间进行交互,从而实现了对目标运行实体的限制,进而可以释放出更多的内存或者CPU资源。

在上述任一技术方案中,优选地,所述运行链表中存储有所有启动的应用程序的运行实体,所述在运行链表中获取与所述任一应用程序不相关的目标运行实体的步骤,具体包括:在所述运行链表中查找所述目标运行实体。

在该技术方案中,通过将所有启动的应用程序的运行实体都存储在运行链表中,例如,当每启动一个应用程序时,就将该应用程序的运行实体和该应用程序的名称对应存储到运行链表中,以在运行链表中比较全面地查找出与在前台运行的应用程序不相关的运行实体。

在上述任一技术方案中,优选地,所述在所述运行链表中查找所述目标运行实体的步骤之前,还包括:判断是否有应用程序在后台运行;若有应用程序在后台运行,则在所述运行链表中查找所述目标运行实体;若没有应用程序在后台运行,则确定在所述运行链表中不存在所述目标运行实体。

在该技术方案中,若有应用程序在后台运行,说明后台运行的应用程序的运行实体会占用内存或CPU资源,则对后台运行的应用程序的运行实体进行限制,若没有应用程序在后台运行,说明没有后台运行的应用程序的运行实体占用内存或CPU资源,在运行链表中仅有在前台运行的应用程序的运行实体,不存在与任一应用程序不相关的运行实体,不需要查找运行链表来获取目标运行实体,从而保证了在前台运行的应用程序的运行可靠性。

在上述任一技术方案中,优选地,还包括:当已启动的应用程序退出运行时,将所述运行链表中的所述已启动的应用程序的运行实体删除。

在该技术方案中,在已启动的应用程序退出时,说明该应用程序的运行实体不会占用内存或者CPU资源,不需要再对该应用程序的运行实体进行限制,则将该应用程序的运行实体删除,避免运行链表中存储有过多的冗余信息而导致在运行链表中获取目标运行实体时的效率比较低。

本发明的第二方面提出了一种应用程序的管理装置,包括:获取单元,用于当任一应用程序在前台运行时,在运行链表中获取与所述任一应用程序不相关的目标运行实体;控制单元,用于对所述目标运行实体进行控制,以降低所述目标运行实体与CPU之间的交互频率。

在该技术方案中,当任一应用程序在前台运行时,确定与该任一应用程序不相关的目标运行实体,其中,目标运行实体包括有进程和服务,然后对目标运行实体进行限制以降低目标运行实体与CPU之间的交互频率,这样,在保证前台运行的应用程序正常使用的同时,可以节省出更多的内存或者CPU资源,从而保证在前台运行的应用程序的运行效率,进而有效地防止在前台运行的应用程序出现卡顿的现象。

在上述技术方案中,优选地,所述控制单元具体用于,将所述目标运行实体挂起,或者在预定时间内禁止所述目标运行实体与所述CPU之间进行交互。

在该技术方案中,通过将目标运行实体挂起,即不执行目标运行实体,或者在预定时间内禁止目标运行实体与CPU之间进行交互,从而实现了对目标运行实体的限制,进而可以释放出更多的内存或者CPU资源。

在上述任一技术方案中,优选地,所述运行链表中存储有所有启动的应用程序的运行实体,所述获取单元包括:查找子单元,用于在所述运行链表中查找所述目标运行实体。

在该技术方案中,通过将所有启动的应用程序的运行实体都存储在运行链表中,例如,当每启动一个应用程序时,就将该应用程序的运行实体和该应用程序的名称对应存储到运行链表中,以在运行链表中比较全面地查找出与在前台运行的应用程序不相关的运行实体。

在上述任一技术方案中,优选地,还包括:判断单元,用于判断是否有应用程序在后台运行;若所述判断单元判定有应用程序在后台运行,则所述查找子单元在所述运行链表中查找所述目标运行实体;若所述判断单元判定没有应用程序在后台运行,则所述查找子单元确定在所述运行链表中不存在所述目标运行实体。

在该技术方案中,若有应用程序在后台运行,说明后台运行的应用程序的运行实体会占用内存或CPU资源,则对后台运行的应用程序的运行实体进行限制,若没有应用程序在后台运行,说明没有后台运行的应用程序的运行实体占用内存或CPU资源,在运行链表中仅有在前台运行的应用程序的运行实体,不存在与任一应用程序不相关的运行实体,不需要查找运行链表来获取目标运行实体,从而保证了在前台运行的应用程序的运行可靠性。

在上述任一技术方案中,优选地,还包括:删除单元,用于当已启动的应用程序退出运行时,将所述运行链表中的所述已启动的应用程序的运行实体删除。

在该技术方案中,在已启动的应用程序退出时,说明该应用程序的运行实体不会占用内存或者CPU资源,不需要再对该应用程序的运行实体进行限制,则将该应用程序的运行实体删除,避免运行链表中存储有过多的冗余信息而导致在运行链表中获取目标运行实体时的效率比较低。

本发明的第三方面提出了一种终端,包括上述技术方案中任一项所述的应用程序的管理装置,因此,该终端具有和上述技术方案中任一项所述的应用程序的管理装置相同的技术效果,在此不再赘述。

通过本发明的技术方案,可以提高在前台运行的应用程序的运行效率,进而有效地防止在前台运行的应用程序出现卡顿的现象。

附图说明

图1示出了根据本发明的一个实施例的应用程序的管理方法的流程示意图;

图2示出了根据本发明的另一个实施例的应用程序的管理方法的流程示意图;

图3示出了根据本发明的一个实施例的应用程序的管理装置的结构示意图;

图4示出了根据本发明的一个实施例的终端的结构示意图。

具体实施方式

为了可以更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

图1示出了根据本发明的一个实施例的应用程序的管理方法的流程示意图。

如图1所示,根据本发明的一个实施例的应用程序的管理方法,包括:

步骤102,当任一应用程序在前台运行时,在运行链表中获取与所述任一应用程序不相关的目标运行实体。

优选地,所述运行链表中存储有所有启动的应用程序的运行实体。

将所有启动的应用程序的运行实体均存储在运行链表中,例如,当每启动一个应用程序时,就将该应用程序的运行实体和该应用程序的名称对应存储到运行链表中。

当然,运行链表也可以预先存储有所有应用程序的运行实体,不会随着应用程序的启动和退出而发生更改。

优选地,所述在运行链表中获取与所述任一应用程序不相关的目标运行实体的步骤,具体包括:在所述运行链表中查找所述目标运行实体。

优选地,所述在所述运行链表中查找所述目标运行实体的步骤之前,还包括:判断是否有应用程序在后台运行;若有应用程序在后台运行,则在所述运行链表中查找所述目标运行实体;若没有应用程序在后台运行,则确定在所述运行链表中不存在所述目标运行实体。

若有应用程序在后台运行,说明后台运行的应用程序的运行实体会占用内存或CPU资源,则对后台运行的应用程序的运行实体进行限制,若没有应用程序在后台运行,说明没有后台运行的应用程序的运行实体占用内存或CPU资源,在运行链表中仅有在前台运行的应用程序的运行实体,不存在与任一应用程序不相关的运行实体,不需要查找运行链表来获取目标运行实体,从而保证了在前台运行的应用程序的运行可靠性。

步骤104,对所述目标运行实体进行控制,以降低所述目标运行实体与CPU之间的交互频率。

优选地,对所述目标运行实体进行控制的步骤,具体包括:将所述目标运行实体挂起;或者在预定时间内禁止所述目标运行实体与所述CPU之间进行交互。

通过将目标运行实体挂起,即不执行目标运行实体,或者在预定时间内禁止目标运行实体与CPU之间进行交互,从而实现了对目标运行实体的限制,进而可以释放出更多的内存或者CPU资源。

优选地,当已启动的应用程序退出运行时,将所述运行链表中的所述已启动的应用程序的运行实体删除。

在已启动的应用程序退出时,说明该应用程序的运行实体不会占用内存或者CPU资源,不需要再对该应用程序的运行实体进行限制,则将该应用程序的运行实体删除,避免运行链表中存储有过多的冗余信息而导致在运行链表中获取目标运行实体时的效率比较低。

在上述技术方案中,当任一应用程序在前台运行时,确定与该任一应用程序不相关的目标运行实体,其中,目标运行实体包括有进程和服务,然后对目标运行实体进行限制以降低目标运行实体与CPU之间的交互频率,这样,在保证前台运行的应用程序正常使用的同时,可以节省出更多的内存或者CPU资源,从而保证在前台运行的应用程序的运行效率,进而有效地防止在前台运行的应用程序出现卡顿的现象。

下面通过两个实施例来详细说明上述技术方案:

实施例一:当微信切换到前台运行时,将微信运行时产生的进程和服务与运行链表中存储的进程和服务进行比较,以获取到与微信不相关的进程和服务,例如,在运行链表中获取到进程A、进程B、服务C,然后挂起进程A、进程B、服务C,以避免进程A、进程B、服务C分别与CPU之间交互。另外,当微信切换到后台运行,微博切换到前台运行时,将重新遍历运行链表,以找出需要限制的和前台运行的微博不相关的服务和进程。

实施例二:当首次启动一个应用程序时,将新建一个链表,获取该应用程序在运行时产生的进程和服务,将该应用程序的进程、服务、应用名称对应存储到新建的链表中。后期若启动其他的应用程序,直接将其他的应用程序的进程、服务、应用名称对应存储到上述中的链表中。当有任一应用程序(例如淘宝)在前台运行时,在链表中获取到与任一应用程序的进程和服务不相关的目标进程和目标服务,禁止目标进程与CPU之间交互,以及禁止目标服务与CPU之间交互。当任一应用程序退出运行时,将链表中的任一应用程序的进程和服务删除。

图2示出了根据本发明的另一个实施例的应用程序的管理方法的流程示意图。

如图2所示,根据本发明的另一个实施例的应用程序的管理方法,包括:

步骤202,打开应用程序A。

步骤204,将应用程序A的服务、进程、和应用程序名称对应添加到链表APP_MESG_LIST中。

步骤206,判断应用程序A是否在前台运行,若应用程序A在前台运行,则进入步骤214,否则,进入步骤208。

步骤208,判断应用程序A是否退出,若应用程序A退出,则进入步骤210,否则,进入步骤212。

步骤210,将链表中的应用程序A的进程和服务删除。

步骤212,不做处理。

步骤214,判断后台是否有应用程序在运行,若后台有应用程序在运行,则进入步骤216,否则,进入步骤212。

步骤216,将应用程序A的服务、进程与链表中的服务、进程进行比较。

步骤218,判断在链表中是否有与应用程序A不相关的服务、进程,若在链表中有与应用程序A不相关的服务、进程,则进入步骤220,若在链表中没有与应用程序A不相关的服务、进程,则进入步骤212。

步骤220,在链表中获取与应用程序A不相关的服务、进程。

步骤222,对获取到的服务、进程进行限制。比如,禁止该服务、进程与CPU之间进行交互,或者将服务、进程挂起,以避免服务、进程与CPU之间进行交互。

图3示出了根据本发明的一个实施例的应用程序的管理装置的结构示意图。

如图3所示,根据本发明的一个实施例的应用程序的管理装置300,包括:获取单元302和控制单元304。

获取单元302,用于当任一应用程序在前台运行时,在运行链表中获取与所述任一应用程序不相关的目标运行实体。

优选地,所述运行链表中存储有所有启动的应用程序的运行实体。

将所有启动的应用程序的运行实体均存储在运行链表中,例如,当每启动一个应用程序时,就将该应用程序的运行实体和该应用程序的名称对应存储到运行链表中。

当然,运行链表也可以预先存储有所有应用程序的运行实体,不会随着应用程序的启动和退出而发生更改。

优选地,获取单元302包括:查找子单元3022,用于在所述运行链表中查找所述目标运行实体。

优选地,应用程序的管理装置300还包括:判断单元308,用于判断是否有应用程序在后台运行;若所述判断单元308判定有应用程序在后台运行,则所述查找子单元3022在所述运行链表中查找所述目标运行实体;若所述判断单元308判定没有应用程序在后台运行,则所述查找子单元3022确定在所述运行链表中不存在所述目标运行实体。

若有应用程序在后台运行,说明后台运行的应用程序的运行实体会占用内存或CPU资源,则对后台运行的应用程序的运行实体进行限制,若没有应用程序在后台运行,说明没有后台运行的应用程序的运行实体占用内存或CPU资源,在运行链表中仅有在前台运行的应用程序的运行实体,不存在与任一应用程序不相关的运行实体,不需要查找运行链表来获取目标运行实体,从而保证了在前台运行的应用程序的运行可靠性。

控制单元304,用于对所述目标运行实体进行控制,以降低所述目标运行实体与CPU之间的交互频率。

优选地,控制单元304具体用于,将所述目标运行实体挂起,或者在预定时间内禁止所述目标运行实体与所述CPU之间进行交互。

通过将目标运行实体挂起,即不执行目标运行实体,或者在预定时间内禁止目标运行实体之间进行交互,从而实现了对目标运行实体的限制,进而可以释放出更多的内存或者CPU资源。

优选地,应用程序的管理装置300还包括:删除单元310,用于当已启动的应用程序退出运行时,将所述运行链表中的所述已启动的应用程序的运行实体删除。

在已启动的应用程序退出时,说明该应用程序的运行实体不会占用内存或者CPU资源,不需要再对该应用程序的运行实体进行限制,则将该应用程序的运行实体删除,避免运行链表中存储有过多的冗余信息而导致在运行链表中获取目标运行实体时的效率比较低。

在上述技术方案中,当任一应用程序在前台运行时,确定与该任一应用程序不相关的目标运行实体,其中,目标运行实体包括有进程和服务,然后对目标运行实体进行限制以降低目标运行实体与CPU之间的交互频率,这样,在保证前台运行的应用程序正常使用的同时,可以节省出更多的内存或者CPU资源,从而保证在前台运行的应用程序的运行效率,进而有效地防止在前台运行的应用程序出现卡顿的现象。

下面通过两个实施例来详细说明上述技术方案:

实施例一:当微信切换到前台运行时,将微信运行时产生的进程和服务与运行链表中存储的进程和服务进行比较,以获取到与微信不相关的进程和服务,例如,在运行链表中获取到进程A、进程B、服务C,然后挂起进程A、进程B、服务C,以避免进程A、进程B、服务C分别与CPU之间交互。另外,当微信切换到后台运行,微博切换到前台运行时,将重新遍历运行链表,以找出需要限制的和前台运行的微博不相关的服务和进程。

实施例二:当首次启动一个应用程序时,将新建一个链表,获取该应用程序在运行时产生的进程和服务,将该应用程序的进程、服务、应用名称对应存储到新建的链表中。后期若启动其他的应用程序,直接将其他的应用程序的进程、服务、应用名称对应存储到上述中的链表中。当有任一应用程序(例如淘宝)在前台运行时,在链表中获取到与任一应用程序的进程和服务不相关的目标进程和目标服务,禁止目标进程与CPU之间交互,以及禁止目标服务与CPU之间交互。当任一应用程序退出运行时,将链表中的任一应用程序的进程和服务删除。

图4示出了根据本发明的一个实施例的终端的结构示意图。

如图4所示,根据本发明的一个实施例的终端400,包括上述技术方案中任一项所述的应用程序的管理装置300,因此,该终端400具有和上述技术方案中任一项所述的应用程序的管理装置300相同的技术效果,在此不再赘述。

以上结合附图详细说明了本发明的技术方案,通过上述技术方案,可以提高在前台运行的应用程序的运行效率,进而有效地防止在前台运行的应用程序出现卡顿的现象。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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