应用服务的控制方法、装置及存储介质和移动终端与流程

文档序号:14120130阅读:202来源:国知局
应用服务的控制方法、装置及存储介质和移动终端与流程

本申请实施例涉及应用控制技术领域,尤其涉及一种应用服务的控制方法、装置及存储介质和移动终端。



背景技术:

手机等移动终端中的功能越来越多,为人们的生活和工作提供了便利,人们可以利用手机接打电话,还可以听音乐、观看视频、玩游戏等。在手机的android系统中服务(service)作为四大组件之一,可以提供需要在后台长期运行的服务,例如天气信息的更新、音乐的后台播放、资源的下载等等。但是相关技术中对应用服务的控制方法存在一定缺陷,需要改进。



技术实现要素:

本申请实施例提供一种应用服务的控制方法、装置及存储介质和移动终端,可以合理的管控移动终端中的应用服务。

在第一方面,本申请实施例提供了一种应用服务的控制方法,包括:

获取当前已开启的各个服务的启动特征信息;

将启动特征信息满足设定启动条件的服务确定为目标服务;

在所述目标服务的运行信息满足设定服务停止条件时,停止运行所述目标服务。

在第二方面,本申请实施例提供了一种应用服务的控制装置,包括:

启动特征信息获取模块,用于获取当前已开启的各个服务的启动特征信息;

目标服务确定模块,用于将启动特征信息满足设定启动条件的服务确定为目标服务;

目标服务运行停止模块,用于在所述目标服务的运行信息满足设定服务停止条件时,停止运行所述目标服务。

第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所提供的应用服务的控制方法。

在第四方面,本申请实施例提供了一种移动终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现如第一方面所提供的应用服务的控制方法。

本申请实施例通过获取当前已开启的各个服务的启动特征信息,将启动特征信息满足设定启动条件的服务确定为目标服务,在所述目标服务的运行信息满足设定服务停止条件时,停止运行所述目标服务,可以对移动终端中启动的应用服务进行合理的管控,防止一些不正常启动的服务在后台一直运行,导致移动终端不必要的资源和流量的消耗,节省了移动终端的运行内存、流量和电量,提升了移动终端运行的流畅度。

附图说明

图1是本申请实施例提供的一种应用服务的控制方法的流程图;

图2是本申请实施例提供的另一种应用服务的控制方法的流程图;

图3是本申请实施例提供的另一种应用服务的控制方法的流程图;

图4是本申请实施例提供的一种应用服务的控制装置的结构示意图;

图5是本申请实施例提供的一种移动终端的结构示意图

图6是本申请实施例提供的另一种移动终端的结构示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

图1给出了本申请实施例提供的一种应用服务的控制方法的流程图,本实施例的方法可以由应用服务的控制装置来执行,该装置可通过硬件和/或软件的方式实现,所述装置可作为移动终端一部分设置在所述移动终端的内部。本申请实施例所述的移动终端包括但不限定于手机、平板电脑或者笔记本等设备。

如图1所示,本实施例提供的应用服务的控制方法包括以下步骤:

步骤101、获取当前已开启的各个服务的启动特征信息。

service是一种非可视化的后台运行逻辑,用于为应用提供后台运行服务,可以称为服务。当某一个应用需要执行一段业务逻辑,但又不想在前台可视化时,可通过应用上下文调用startservice函数(startservice()方法)启动服务,来调用起一个service,这个service可以是该应用自身的,也可以是另一个应用的service。如果有其它的应用需要调用一个service时,会向系统发出请求,系统会检查service所在的进程是否己经启动,如果没有启动,就需要启动service所在的进程。启动服务还可以通过调用bindservice函数来启动,startservice函数和bindservice函数的区别是,对于bindservice函数,会绑定服务,如果调用者(开启者)退出或者挂掉了,服务也会跟着退出或者挂掉;但是对于startservice函数,一旦服务开启跟开启者就没有任何关系了,无论开启者退出还是挂了,服务会一直在后台长期运行。

本实施例中所述的已开启的各个服务的开启方式可以为通过调用startservice函数,也可以为通过调用bindservice函数进行开启的。移动终端中开启的服务可能是为了应用程序的正常运行而开启的,而有些非正常开启的服务是某些第三方应用为了保活自身而自动或者间接开启的,而且这些非正常启动服务若通过调用startservice函数进行启动后,会一直在后台运行,显然,这些非正常启动的服务会严重浪费移动终端的运行资源和流量。本实施例对已开启的各个服务进行实时监测。

所述获取当前已开启的各个服务的启动特征信息可以包括:定时获取当前已开启的各个服务的启动特征信息。例如,可以每隔10秒钟获取一次。

在某些实施方式中,所述启动特征信息可以包括触发启动的事件、启动方式和服务信息,所述服务信息包括服务名称、服务所对应的用户标识((useridentification,uid)、进程标识(processidentification,pid)和应用包名中的至少一项。

步骤102、将启动特征信息满足设定启动条件的服务确定为目标服务。

该步骤的作用是将启动特征信息满足设定启动条件的非正常启动服务确定为目标服务。在本实施例中,对于一些非正常启动的服务可以不限制它的启动,但是在启动之后会进一步判断该非正常启动的服务是否满足设定停止条件,来确定是否停止该服务,这样设置的原因是:有些第三方应用比如新安装的第三方应用在正常开启一些服务的时候可能被系统认为是非正常开启的服务,不利于这些服务的正常运行,本实施例允许服务进行开启,但开启后会进一步判断是否应该停止。

步骤103、在所述目标服务的运行信息满足设定服务停止条件时,停止运行所述目标服务。

通过在检测到目标服务的运行信息满足预设服务停止条件时,停止运行所述目标服务,可以节省移动终端的运行资源和流量以及电量,避免不必要的消耗。需要说明的是,服务的运行是由进程来承载的,所以本申请实施例中所述的停止运行目标服务可以为停止运行目标服务对应的进程。

在某些实施方式中,所述运行信息可以包括启动后运行时长和启动后用户的反馈信息。

本实施例提供的应用服务的控制方法,通过获取当前已开启的各个服务的启动特征信息,将启动特征信息满足设定启动条件的服务确定为目标服务,在所述目标服务的运行信息满足设定服务停止条件时,停止运行所述目标服务,可以对移动终端中启动的应用服务进行合理的管控,防止一些不正常启动的服务在后台一直运行,导致移动终端不必要的资源和流量的消耗,节省了移动终端的运行内存、流量和电量,提升了移动终端运行的流畅度。

图2给出了本申请实施例提供的另一种应用服务的控制方法的流程图。如图2所示,本实施例提供的方法包括以下步骤:

步骤201、获取当前已开启的各个服务的启动特征信息。

步骤202、将启动特征信息满足下述至少一项设定启动条件的服务确定为目标服务:触发启动的事件为预设定时器达到设定时间间隔,或者触发启动的事件为接收广播;启动方式为非用户操作的启动;所述服务信息不满预设条件。

有些第三方应用通过设置一个预设定时器,在预设定时器达到设定时间间隔时,通过调用startservice函数来启动某个服务以实现该应用的自启动或者其他应用的关联系统,所以通过预设定时器达到设定时间间隔而触发启动的服务可能会是非正常启动的服务。有些第三方应用通过注册广播接收者,在系统或者其他应用发送广播时,通过由注册的广播接收者接收广播实现该应用的自启动或者关联启动,所以通过接收广播而触发启动的服务可能是非正常启动的服务。若某个服务的启动方式为非用户操作的自启动或者关联启动,则该服务可能是非正常启动的服务。若某个服务的服务信息不满预设条件,则该服务可能是非正常启动的服务。因此,将这些可能是非正常启动的服务确定为目标服务。需要说明是,在确定目标服务时,可以将启动特征信息满足上述一项或者多项设定启动条件的服务确定为目标服务。

在某些实施方式中,所述启动方式为非用户操作的启动可以包括:启动方式为系统进程或者其他应用程序进程自动调用用于启动服务的第一设定函数进行启动,所述第一设定函数包括startservice函数;或者,启动方式为在关闭服务的第二设定函数中调用用于启动服务的第一设定函数进行启动,所述第二设定函数包括ondestroy函数。示例性的,通过在ondestroy函数中再次调用startservice函数来启动服务的代码如下:

在某些实施方式中,所述服务信息不满预设条件包括:所述服务名称不在第一设定白名单中;或者,所述服务所对应的用户标识、进程标识和/或应用包名不在第二设定白名单中。

在某些实施方式中,还可以包括:从服务器或者移动终端本地获取所述第一设定白名单和第二设定白名单,所述第一设定白名单和第二设定白名单在终端本地存储的方式包括文件方式存储或者数据库方式存储。

步骤203、在所述目标服务的运行信息满足下述至少一项设定服务停止条件时,停止运行所述目标服务:启动时长达到设定时长;运行占用内存达到设定大小且服务类型或者服务所对应的应用程序的应用类型为对应设定类型;用户的反馈信息为关闭服务或者关闭服务所对应的应用程序。

对于启动特征满足上述至少一项设定启动条件的目标服务,例如对于启动方式为非用户操作的启动且服务信息不满足预设条件的目标服务,在启动时长达到设定时长时,可以停止运行该目标服务。例如对于触发启动的事件为预设定时器达到设定时间间隔的目标服务,在运行内存达到设定大小且对应的应用类型为游戏时,可以停止运行该目标服务。例如对于触发启动的事件为接收广播的目标服务,在用户的反馈信息为关闭服务所对应的应用程序时,停止运行该目标服务。

本实施例提供的应用服务的控制方法,通过获取当前已开启的各个服务的启动特征信息,将启动特征信息满足至少一个设定启动条件的服务确定为目标服务,在所述目标服务的运行信息满足至少一个设定服务停止条件时,停止运行所述目标服务,可以对移动终端中启动的应用服务进行合理的管控,防止一些不正常启动的服务在后台一直运行,导致移动终端不必要的资源和流量的消耗,节省了移动终端的运行内存、流量和电量,提升了移动终端运行的流畅度。

图3给出了本申请实施例提供的另一种应用服务的控制方法的流程图。如图3所示,本实施例提供的应用服务的控制方法包括以下步骤:

步骤301、获取通过调用startservice函数而开启的各个服务的启动特征信息。

其中,通过调用startservice函数而开启的服务可称之为startedservice(started服务)。所述启动特征信息包括触发启动的事件、启动方式和服务信息,所述服务信息包括服务名称、服务所对应的用户标识、进程标识和应用包名中的至少一项。

由于通过调用startservice函数而开启的服务是一直运行在后台的,因此,本实施例对已开启的started服务进行监测,获取started服务的启动特征信息。

步骤302、将启动特征信息满足设定启动条件的服务确定为目标服务。

在某些实施方式中,该步骤可以包括:将启动特征信息满足下述至少一项设定启动条件的服务确定为目标服务:触发启动的事件为预设定时器达到设定时间间隔,或者触发启动的事件为接收广播;启动方式为非用户操作的启动;所述服务信息不满预设条件。

步骤303、在所述目标服务的运行信息满足设定服务停止条件时,通过调用stopservice函数或者调用stopself函数,停止运行所述目标服务。

其中,在服务外部可以调用stopservice()方法,在服务内部(onstartcommand方法内部)调用stopself()方法。

在某些实施方式中,该步骤可以包括:在所述目标服务的运行信息满足下述至少一项设定服务停止条件时,停止运行所述目标服务:启动时长达到设定时长;运行占用内存达到设定大小且服务类型或者服务所对应的应用程序的应用类型为对应设定类型;用户的反馈信息为关闭服务或者关闭服务所对应的应用程序。

本实施例提供的应用服务的控制方法,通过获取通过调用startservice函数而开启的各个服务的启动特征信息,将将启动特征信息满足至少一个设定启动条件的服务确定为目标服务,在所述目标服务的运行信息满足至少一个设定服务停止条件时,停止运行所述目标服务,可以对移动终端中启动的应用服务进行合理的管控,防止一些不正常启动的服务在后台一直运行,导致移动终端不必要的资源和流量的消耗,节省了移动终端的运行内存、流量和电量,提升了移动终端运行的流畅度。

图4为本申请实施例提供的一种应用服务的控制方法装置的结构示意图,该装置可由软件和/或硬件实现,集成在移动终端中。如图4所示,该装置包括启动特征信息获取模块41、目标服务确定模块42和目标服务运行停止模块43。

所述启动特征信息获取模块41,用于获取当前已开启的各个服务的启动特征信息;

所述目标服务确定模块42,用于将启动特征信息满足设定启动条件的服务确定为目标服务;

所述目标服务运行停止模块43,用于在所述目标服务的运行信息满足设定服务停止条件时,停止运行所述目标服务。

本实施例提供的装置,通过获取当前已开启的各个服务的启动特征信息,将启动特征信息满足设定启动条件的服务确定为目标服务,在所述目标服务的运行信息满足设定服务停止条件时,停止运行所述目标服务,可以对移动终端中启动的应用服务进行合理的管控,防止一些不正常的服务在后台一直运行,导致移动终端不必要的资源和流量的消耗,节省了移动终端的运行内存和电量,提升了移动终端运行的流畅度。

可选的,所述启动特征信息包括触发启动的事件、启动方式和服务信息,所述目标服务确定模块具体用于:

将启动特征信息满足下述至少一项设定启动条件的服务确定为目标服务:

触发启动的事件为预设定时器达到设定时间间隔,或者触发启动的事件为接收广播;

启动方式为非用户操作的启动;

所述服务信息不满预设条件,所述服务信息包括服务名称、服务所对应的用户标识、进程标识和应用包名中的至少一项。

可选的,所述运行信息包括启动后运行时长和启动后用户的反馈信息,所述目标服务运行停止模块具体用于:

在所述目标服务的运行信息满足下述至少一项设定服务停止条件时,停止运行所述目标服务:

启动时长达到设定时长;

运行占用内存达到设定大小且服务类型或者服务所对应的应用程序的应用类型为对应设定类型;

用户的反馈信息为关闭服务或者关闭服务所对应的应用程序。

可选的,所述目标服务确定模块中启动方式为非用户操作的启动包括:

启动方式为系统进程或者其他应用程序进程自动调用用于启动服务的第一设定函数进行启动,所述第一设定函数包括startservice函数;或者,

启动方式为在关闭服务的第二设定函数中调用用于启动服务的第一设定函数进行启动,所述第二设定函数包括ondestroy函数。

可选的,所述目标服务运行停止模块停止运行所述目标服务包括:

通过调用stopservice函数或者调用stopself函数,停止运行所述目标服务。

可选的,所述目标服务确定模块中服务信息不满预设条件包括:

所述服务名称不在第一设定白名单中;或者,

所述服务所对应的用户标识、进程标识和/或应用包名不在第二设定白名单中。

可选的,所述装置还包括:

白名单获取模块,用于从服务器或者移动终端本地获取所述第一设定白名单和第二设定白名单,所述第一设定白名单和第二设定白名单在终端本地存储的方式包括文件方式存储或者数据库方式存储。

本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种应用服务的控制方法,该方法包括:

获取当前已开启的各个服务的启动特征信息;

将启动特征信息满足设定启动条件的服务确定为目标服务;

在所述目标服务的运行信息满足设定服务停止条件时,停止运行所述目标服务。

存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如cd-rom、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如dram、ddrram、sram、edoram,兰巴斯(rambus)ram等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。

当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的应用服务的控制操作,还可以执行本申请任意实施例所提供的应用服务的控制方法中的相关操作。

本申请实施例提供了一种移动终端,该移动终端中可集成本申请实施例提供的应用服务的控制装置。图5为本申请实施例提供的一种移动终端的结构示意图。移动终端500可以包括:存储器501,处理器502及存储在存储器501上并可在处理器502运行的计算机程序,所述处理器502执行所述计算机程序时实现如本申请实施例所述的应用服务的控制方法。

本申请实施例提供的移动终端,可以对移动终端中启动的应用服务进行合理的管控,防止一些不正常启动的服务在后台一直运行,导致移动终端不必要的资源和流量的消耗,节省了移动终端的运行内存、流量和电量,提升了移动终端运行的流畅度。

图6为本申请实施例提供的另一种移动终端的结构示意图,如图6所示,该移动终端可以包括:存储器601、中央处理器(centralprocessingunit,cpu)602(又称处理器,以下简称cpu)、所述存储器601,用于存储可执行程序代码;所述处理器602通过读取所述存储器601中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行:获取当前已开启的各个服务的启动特征信息;将启动特征信息满足设定启动条件的服务确定为目标服务;在所述目标服务的运行信息满足设定服务停止条件时,停止运行所述目标服务。

所述移动终端还包括:外设接口603、rf(radiofrequency,射频)电路605、音频电路606、扬声器611、电源管理芯片608、输入/输出(i/o)子系统609、触摸屏612、其他输入/控制设备610以及外部端口604,这些部件通过一个或多个通信总线或信号线607来通信。

应该理解的是,图示移动终端600仅仅是移动终端的一个范例,并且移动终端600可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。

下面就本实施例提供的用于控制应用服务的移动终端进行详细的描述,该移动终端以手机为例。

存储器601,所述存储器601可以被cpu602、外设接口603等访问,所述存储器601可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

外设接口603,所述外设接口603可以将设备的输入和输出外设连接到cpu502和存储器601。

i/o子系统609,所述i/o子系统609可以将设备上的输入输出外设,例如触摸屏612和其他输入/控制设备610,连接到外设接口603。i/o子系统609可以包括显示控制器6091和用于控制其他输入/控制设备610的一个或多个输入控制器6092。其中,一个或多个输入控制器6092从其他输入/控制设备610接收电信号或者向其他输入/控制设备610发送电信号,其他输入/控制设备610可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器6092可以与以下任一个连接:键盘、红外端口、usb接口以及诸如鼠标的指示设备。

触摸屏612,所述触摸屏612是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。

i/o子系统609中的显示控制器6091从触摸屏612接收电信号或者向触摸屏612发送电信号。触摸屏612检测触摸屏上的接触,显示控制器6091将检测到的接触转换为与显示在触摸屏612上的用户界面对象的交互,即实现人机交互,显示在触摸屏612上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。

rf电路605,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,rf电路605接收并发送rf信号,rf信号也称为电磁信号,rf电路605将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。rf电路605可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、rf收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、codec(coder-decoder,编译码器)芯片组、用户标识模块(subscriberidentitymodule,sim)等等。

音频电路606,主要用于从外设接口603接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器611。

扬声器611,用于将手机通过rf电路605从无线网络接收的语音信号,还原为声音并向用户播放该声音。

电源管理芯片608,用于为cpu602、i/o子系统及外设接口603所连接的硬件进行供电及电源管理。

上述实施例中提供的应用服务的控制装置、存储介质及移动终端可执行本申请任意实施例所提供的应用服务的控制方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的应用服务的控制方法。

上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。

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