应用程序的启动方法、装置、存储介质和终端与流程

文档序号:13030904阅读:150来源:国知局
应用程序的启动方法、装置、存储介质和终端与流程

本发明涉及移动通信领域,具体涉及一种应用程序的启动方法、装置、存储介质和终端。



背景技术:

随着终端技术的发展,移动终端已经开始从以前简单地提供通话设备渐渐变成一个通用软件运行的平台。该平台不再以提供通话管理为主要目的,而是提供一个包括通话管理、游戏娱乐、办公记事、移动支付等各类应用软件在内的运行环境,随着大量的普及,已经深入至人们的生活、工作的方方面面。

目前终端上的一些应用程序位了提升自己的存活率,会主动注册为系统广播的接收者,当系统广播时,这些应用程序会自动启动,提升了终端的资源消耗。



技术实现要素:

本发明实施例提供一种应用程序的启动方法、装置、存储介质和终端,可以降低终端的资源消耗。

第一方面,本发明实施例提供一种应用程序的启动方法,包括:

当检测到系统发起广播时,从终端的应用程序中选取位于预设启动应用集合内的待启动应用程序,得到所述广播对应的目标应用集合;

获取所述目标应用集合内待启动应用程序的历史使用信息;

根据所述历史使用信息设置所述待启动应用程序的启动优先级,得到目标应用集合内各待启动应用程序的启动优先级;

根据所述目标应用集合内各待启动应用程序的启动优先级,依次向所述目标应用集合内的待启动应用程序发送启动指令,以实现依次启动所述目标应用集合内的待启动应用程序。

第二方面,本发明实施例还提供了一种应用程序的启动装置,包括:

应用确定模块,用于当检测到系统发起广播时,从终端的应用程序中选取位于预设启动应用集合内的待启动应用程序,得到所述广播对应的目标应用集合;

信息获取模块,用于获取所述目标应用集合内待启动应用程序的历史使用信息;

设置模块,用于根据所述历史使用信息设置所述待启动应用程序的启动优先级,得到目标应用集合内各待启动应用程序的启动优先级;

启动模块,用于根据所述目标应用集合内各待启动应用程序的启动优先级,依次向所述目标应用集合内的待启动应用程序发送启动指令,以实现依次启动所述目标应用集合内的待启动应用程序。

第三方面,本发明还提供一种存储介质,所述存储介质存储有指令,所述指令被处理器执行时实现本发明实施例任一提供的应用程序的启动方法的步骤。

第四方面,本发明实施例还提供一种终端,包括存储器和处理器,所述存储器存储有指令,所述处理器加载所述指令以执行本发明实施例任一提供的应用程序的启动方法的步骤。

本发明实施例当检测到系统发起广播时,从终端的应用程序中选取位于预设启动应用集合内的待启动应用程序,得到广播对应的目标应用集合;获取目标应用集合内待启动应用程序的历史使用信息;根据历史使用信息设置待启动应用程序的启动优先级,得到目标应用集合内各待启动应用程序的启动优先级;根据目标应用集合内各待启动应用程序的启动优先级,依次向目标应用集合内的待启动应用程序发送启动指令,以实现依次启动目标应用集合内的待启动应用程序;该方案可以在系统广播时选择性地启动位于预设启动应用集合(即相当于白名单)内的应用程序,避免启动注册广播的所有应用程序,可以降低终端的资源消耗以及提升终端的安全性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的应用程序的启动方法的流程示意图。

图2为本发明实施例提供的应用显示界面的示意图。

图3为本发明实施例提供的应用显示界面的另一示意图。

图4为本发明实施例提供的应用程序的启动方法的另一流程示意图。

图5为本发明实施例提供的应用程序的启动装置的第一种结构示意图。

图6为本发明实施例提供的应用程序的启动装置的第二种结构示意图。

图7为本发明实施例提供的应用程序的启动装置的第三种结构示意图。

图8为本发明实施例提供的应用程序的启动装置的第四种结构示意图。

图9为本发明实施例提供的终端的一种结构示意图。

图10为本发明实施例提供的终端的另一种结构示意图。

具体实施方式

请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。

在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。

本发明的原理使用许多其它泛用性或特定目的运算、通信环境或组态来进行操作。所熟知的适合用于本发明的运算系统、环境与组态的范例可包括(但不限于)手持电话、个人计算机、服务器、多处理器系统、微电脑为主的系统、主架构型计算机、及分布式运算环境,其中包括了任何的上述系统或装置。

以下将分别进行详细说明。

本实施例将从应用程序的启动装置的角度进行描述,该应用程序的启动装置具体可以集成在终端中,该终端可以为智能手机、平板电脑等电子设备。

在一实施例中,本发明实施例提供了一种应用程序的启动方法,参考图1,该应用程序的启动方法的具体流程如下:

101、当检测到系统发起广播时,从终端的应用程序中选取位于预设启动应用集合内的待启动应用程序,得到该广播对应的目标应用集合。

其中,广播指的是终端系统如安卓或者ios系统中的广播机制,终端上的应用程序可以注册为广播的接收者,当终端系统广播启动指令时,广播的接收应用在接收到启动指令时会自动启动应用程序。

该终端的应用程序可以包括未启动的应用程序或者处于休眠状态的应用程序等等。

本发明实施例提供的启动方法可以适用于多种场景,比如,终端处于锁屏状态下、终端处于低电量情况下、终端在前台运行某个应用的场景下、或者终端在通话的场景下等等。

在一实施例中,可以在终端处于锁屏状态下,检测系统是否发起广播,若是,则从终端的应用程序中选取位于预设启动应用集合内的待启动应用程序。又比如,在一实施例中,还可以在终端在前台运行某个应用程序时,检测系统是否发起广播,若是,则从终端的应用程序中选取位于预设启动应用集合内的待启动应用程序。

本发明实施例中,预设启动应用集合包括多个需要启动的预设应用程序,该预设启动应用集合为允许启动的应用程序的集合,即白名单。该预设启动应用集合可以根据实际需求设定,如可以根据实际需求增加应用或者减少应用。

在一实施例中,提升应用启动的灵活性以及应用启动管理的精度,可以针对不同的广播设置不同的预设启动应用集合(如白名单),即不同的广播对应不同的比如预设启动应用集合(如白名单)。比如,可以预先设置多个启动应用集合,然后,在从多个启动应用集合中选取广播对应的启动应用集合;也即步骤“从终端的应用程序中选取位于预设启动应用集合内的待启动应用程序”可以包括:

从多个预设启动应用集合中获取该广播对应的目标预设启动应用集合;

从终端的应用程序中选取位于目标预设启动应用集合中的应用程序,以作为待启动应用程序。

例如,实际应用中,参考图2,当终端安装有应用程序a、应用程序b、应用程序c、应用程序d时,当检测到系统发起广播时,可以获取该广播对应的白名单,然后,从应用程序a、应用程序b、应用程序c、应用程序d选取位于该白名单中的应用程序作为待启动应用程序,如应用程序a、b。

在一实施例中,还可以考虑选取短时间未使用的应用程序进行启动,提升应用启动的灵活性以及满足用户的使用需求,也即步骤“从终端的应用程序中选取位于预设启动应用集合内的待启动应用程序”可以包括:

从终端的应用程序中选取当前未使用时长小于预设时长的候选应用程序;

从该候选应用程序中选取位于预设启动目标应用集合内的目标应用程序;

将该目标应用程序作为待启动应用程序。

其中,当前未使用时长为应用程序最后一次使用的时间到当前时间的时间距离或者时间差,比如,应用程序a最后一次使用的时间为9:45,当前时间为10:00,那么该应用程序a的当前未使用时长可以为15分钟。

其中,预设时长可以根据实际需求设定,如半个小时、1个小时、2个小时等等。

例如,实际应用中,参考图2,当终端安装有应用程序a、应用程序b、应用程序c、应用程序d时,当检查到系统发起广播时,可以该广播对应的白名单,然后,获取应用程序a、应用程序b、应用程序c、应用程序d的当前未使用时长,假设应用程序a、应用程序b、应用程序c的当前未使用时长小于预设时长时,可以将应用程序a、应用程序b、应用程序c分别作为候选应用程序,接着获取该广播对应的白名单,从候选应用程序即应用程序a、应用程序b、应用程序c、应用程序d选取位于该白名单中的应用程序作为待启动应用程序,如应用程序a、b。

102、获取目标应用集合内待启动应用程序的历史使用信息。

其中,历史使用信息可以为当前时刻之前用户使用应用程序的使用信息,如在某个历史时间段内使用应用程序的使用信息。该历史使用信息可以包括:历史使用频率、历史使用次数、历史使用时长、历史使用位置等等。

其中,历史使用频率为在某个历史时间段内的使用频率,历史使用时长可以为在某个历史时间段内的累计使用时长或者平均使用时长等等。

在一实施例中,可以预先记录用户对各应用程序的使用信息,这样后续在启动应用时便可以从记录的信息中获取相应应用的历史使用信息。

103、根据历史使用信息设置待启动应用程序的启动优先级,得到目标应用集合内各待启动应用程序的启动优先级。

比如,可以针对目标应用集合中每个应用程序,根据其历史使用信息来设置相应的启动优先级。

其中,启动优先级表示应用程序的启动先后顺序,启动优先级越高表示应用程序越先启动,反之启动优先级越低表示应用程序越后启动。

其中,优先级可以用优先级标识来表征,该优先级标识可以为字符,如数字、字母、文字等。其中,优先级的高低可以由标识之间的关系来表示。

譬如,在一实施例中,优先级可以包括:优先级1、优先级2、安优先级3等等,其中优先级的高低可以由数字的大小表示。又比如,在一实施例中,安全等级可以包括:优先级a、优先级b、优先级c……,其中,优先级的高低可以由字母的先后顺序表示。

其中,基于历史使用信息设置优先级的方式有多种,比如,在一实施例中,当历史使用信息包括历史使用频率和历史使用时长时,可以基于各自落入的范围来设定启动优先级。也即步骤“根据该历史使用信息设置该待启动应用程序的启动优先级”可以包括:

确定该历史使用频率落入的预设频率范围;

确定该历史使用时长落入的预设时长范围;

获取预设频率范围对应的第一启动优先级、以及预设时长范围对应的第二启动优先级;

当该第一启动优先级与第二启动优先级相同时,设置该待启动应用程序的启动优先级为该第一启动优先级或该第二启动优先级。

例如,广播对应的目标应用集合为{待启动应用程序a、待启动应用程序c、待启动应用程序b、待启动应用程序d},待启动应用程序a在某个历史时间段内的历史使用频率为10、历史使用时长为180s,其历史使用频率落入预设频率范围[8,15]之间,历史使用时长落入预设时长范围[120s,240s],此时,可以获取预设频率范围[8,15]对应的第一启动优先级为a,获取预设时长范围[120s,240s]对应的第二启动优先级也为a。可见,第一启动优先级与第二启动优先级相同,均为a,此时,可以设置待启动应用程序a的启动优先级为a。同样方式可以设置待启动应用程序b、c、d的启动优先级。

在一实施例中,如果当第一启动优先级与第二启动优先级不相同时,还可以将待启动应用程序的启动优先级设置为二者之间的中间优先级;也即步骤“根据该历史使用信息设置该待启动应用程序的启动优先级”还可以包括:

当该第一启动优先级与第二启动优先级不相同时,确定该第一启动优先级与该第二启动优先级之间是否存在中间启动优先级;

若存在,则从该中间启动优先级中选取目标启动优先级,并设置该待启动应用程序的启动优先级为目标启动优先级;

其中,中间启动优先级为低于第一启动优先级、高于第二启动优先级的启动优先级,或者高于第一启动优先级、低于第二启动优先级的启动优先级。例如第一启动优先级为1高于第二启动优先级5时,那么二者之间的中间启动优先级为2、3、4。

例如,待启动应用程序a在某个历史时间段内的历史使用频率为10、历史使用时长为180s,其历史使用频率落入预设频率范围[8,15]之间,历史使用时长落入预设时长范围[120s,240s],此时,可以获取预设频率范围[8,15]对应的第一启动优先级为1,获取预设时长范围[120s,240s]对应的第二启动优先级为3。可见,第一启动优先级与第二启动优先级不相同,此时,确定第一启动优先级与第二启动优先级之间存在中间启动优先级2,那么可以设置待启动应用程序a的启动优先级为中间启动优先级2。同样方式可以设置待启动应用程序b、c、d的启动优先级。

在一实施例中,如果第一启动优先级与第二启动优先级之间不存在中间启动优先级,那么,还可以选取二者中级别高的优先级作为应用的启动优先级。也即步骤“根据该历史使用信息设置该待启动应用程序的启动优先级”还可以包括:

当确定该第一启动优先级与该第二启动优先级之间不存在中间启动优先级;设置该待启动应用程序的启动优先级为第一启动优先级和第二启动优先级中级别高的启动优先级。

例如,待启动应用程序a在某个历史时间段内的历史使用频率为10、历史使用时长为180s,其历史使用频率落入预设频率范围[8,15]之间,历史使用时长落入预设时长范围[120s,240s],此时,可以获取预设频率范围[8,15]对应的第一启动优先级为1,获取预设时长范围[120s,240s]对应的第二启动优先级为2。此时,第一启动优先级1高于第二启动优先级2,二者之间不存在中间优先级,那么可以将待启动应用程序a的启动优先级设置为1。

在一实施例中,如果第一启动优先级与第二启动优先级之间不存在中间启动优先级,还可以设置该待启动应用程序的启动优先级为第一启动优先级和第二启动优先级中级别低的启动优先级。

在一实施例中,当历史使用频率和历史使用时长时,还可以基于历史使用频率和历史使用时长获取应用的启动顺序指示参数,然后,根据该启动顺序指示参数来设置启动优先级。比如,步骤“根据该历史使用信息设置该待启动应用程序的启动优先级”可以包括:

根据该历史使用频率和该历史使用时长,获取该待启动应用程序对应的启动顺序指示参数;

获取启动顺序指示参数对应的预设启动优先级;

将该待启动应用程序的启动优先级设置为该预设启动优先级。

其中,启动顺序指示参数为用于指示应用启动顺序的参数,该参数可以根据实际需求设定,比如,可以为一个数值(如8)等,数值越大表示启动越早,数值越小表示启动越晚。又比如,该启动顺序指示参数还可以由字符表示,字符之间的关系可以表示应用启动顺序的前后。譬如,在用于字母(如b)表示时,该字母在字母表的位置越靠前表示应用启动越早。

在一实施例中,基于预设算法对历史使用频率和历史使用时长进行计算,得到相应的指示参数。为了简化参数计算过程,提升应用启动速度,可以基于加权算法来获取启动顺序指示参数。比如,步骤“根据该历史使用频率和该历史使用时长,获取该待启动应用程序对应的启动顺序指示参数”可以包括:

获取该历史使用频率对应的第一权重值、以及该历史使用时长对应的第二权重值;

根据第一权重值和该第二权重值,对该历史使用频率和该历史使用时长进行加权处理,得到加权值;

将该加权值作为该待启动应用程序对应的启动顺序指示参数。

其中,历史使用频率对应的第一权重值、以及该历史使用时长对应的第二权重值均可以基于实际需求设定,如第一权重值可以为30%、40%、50%等,第二权重值可以为70%、60%、50%等。

比如,用户希望越早启动使用频率较高的应用时,可以将第一权重值设置大点,第二权重值设置小点。又比如,用户希望越早启动使用时长较高的应用时,可以将第一权重值设置小点,第二权重值设置大点。

例如,广播对应的目标应用集合为{待启动应用程序a、待启动应用程序c、待启动应用程序b、待启动应用程序d},待启动应用程序a在某个历史时间段内的历史使用频率为10、历史使用时长为180s,其中,历史使用频率对应的第一权重值为60%、历史使用时长对应的第二权重值为40%,可见计算加权值为10*60%+180*40%=72.6,该加权值即为应用程序a的启动顺序指示参数,与该启动顺序指示参数72.6对应的启动优先级为4,此时,可以将设置待启动应用程序a的启动优先级为4。同样方式可以设置待启动应用程序b、c、d的启动优先级分别为1、2、3。

在一实施例中,考虑到使用频率越大、历史使用时长越长(二者的和值越大),表示该应用可能为常用应用,需要优先启动,因此,还可以计算历史使用频率和该历史使用时长之和,将该和值作为启动顺序指示参数,通过该指示参数设置应用的启动优先级,可以确保常用应用被优先启动。

例如,待启动应用程序a在某个历史时间段内的历史使用频率为10、历史使用时长为180s,其中,历史使用频率与历史使用时长的和值为190,该和值190即为应用程序a的启动顺序指示参数。

在一实施例中,考虑到使用频率与使用时长之间的差值越大,表明该应用为重要应用,需要优先启动,因此,还可以计算历史使用频率和该历史使用时长之间的差值绝对值,将该差值绝对值作为启动顺序指示参数,通过该指示参数设置应用的启动优先级,可以确保重要应用被优先启动。

104、根据目标应用集合内各待启动应用程序的启动优先级,依次向该目标应用集合内的待启动应用程序发送启动指令,以实现依次启动该目标应用集合内的待启动应用程序。

在一实施例中,可以按照待启动应用程序的启动优先级从高到低、或者从低到高的顺序依次向集合内的待启动应用程序发送启动指令,以实现依次启动待启动应用程序。

例如,广播对应的目标应用集合为{待启动应用程序a、待启动应用程序c、待启动应用程序b}时,待启动应用程序a的启动优先级为1、待启动应用程序b的优先级为3、待启动应用程序c的启动优先级为2,假设优先级1>优先级2>优先级3,可以先向待启动应用程序a发送启动指令,以启动待启动应用程序a,然后,再向待启动应用程序b发送启动指令,以启动待启动应用程序b,最后再向启动应用程序c发送启动指令,以启动待启动应用程序c。参考图3,终端在后台启动了应用程序a、应用程序b、应用程序c。

在一实施例中,可以根据该目标应用集合内各待启动应用程序的启动优先级,每个预设时间段依次向该目标应用集合内的待启动应用程序发送启动指令,以实现依次启动该目标应用集合内的待启动应用程序。

例如,广播对应的目标应用集合为{待启动应用程序a、待启动应用程序c、待启动应用程序b}时,待启动应用程序a的启动优先级为1、待启动应用程序b的优先级为3、待启动应用程序c的启动优先级为2,假设优先级1>优先级2>优先级3,可以先向待启动应用程序a发送启动指令,以启动待启动应用程序a,在等待预设时间段如5s后再向待启动应用程序b发送启动指令,以启动待启动应用程序b,在等待预设时间段如5s后最后再向启动应用程序c发送启动指令,以启动待启动应用程序c。

在一实施例中,可以依次在后台启动目标应用集合内各待启动应用,或者,可以在前台启动优先级最高的应用程序、并在后台启动其余应用程序。

在一实施例中,为了能为即将启动的应用程序提供足够的资源,还可以关闭长时间未使用的后台应用程序,也即,本发明实施例方法,在启动目标应用集合内应用程序之前,还可以包括:关闭当前后台运行时长大于预设运行时长的后台应用程序。该关闭步骤的时序可以在启动集合内待启动应用之前的任何时间或位置执行。

其中,后台运行时长为后台应用程序在后台运行的持续时长,比如,可以为后台应用从进入到后台运行的时间到当前时间之间的时间距离,或者时间差。

由上可知,本发明实施例当检测到系统发起广播时,从终端的应用程序中选取位于预设启动应用集合内的待启动应用程序,得到广播对应的目标应用集合;获取目标应用集合内待启动应用程序的历史使用信息;根据历史使用信息设置待启动应用程序的启动优先级,得到目标应用集合内各待启动应用程序的启动优先级;根据目标应用集合内各待启动应用程序的启动优先级,依次向目标应用集合内的待启动应用程序发送启动指令,以实现依次启动目标应用集合内的待启动应用程序;该方案可以在系统广播时选择性地启动位于预设启动应用集合(即相当于白名单)内的应用程序,避免启动注册广播的所有应用程序,可以降低终端的资源消耗以及提升终端的安全性。此外,该方案还可针对不同的广播设置不同的白名单,提升了对应用启动管控的精确度。

在一实施例中,还提供了另一种应用程序的启动方法,如图4所示,该应用程序的启动方法的具体流程如下:

201、当检测到系统发起广播时,终端获取该广播对应的目标预设启动应用集合。

比如,从多个预设启动应用集合中获取所述广播对应的目标预设启动应用集合。

其中,广播指的是终端系统如安卓或者ios系统中的广播机制,终端上的应用程序可以注册为广播的接收者,当终端系统广播启动指令时,广播的接收应用在接收到启动指令时会自动启动应用程序。

该终端的应用程序可以包括未启动的应用程序或者处于休眠状态的应用程序等等。

预设启动应用集合包括多个需要启动的预设应用程序,该预设启动应用集合为允许启动的应用程序的集合,即白名单。

202、终端从应用程序中选取位于目标预设启动应用集合中的应用程序,以作为待启动应用程序,得到该广播对应的目标应用集合。

比如,终端选取位于白名单内的应用程序作为待启动应用程序,得到广播对应的目标应用集合。

203、终端获取目标应用集合内待启动应用程序的历史使用频率和历史使用时长。

其中,历史使用频率为在某个历史时间段内的使用频率,历史使用时长可以为在某个历史时间段内的累计使用时长或者平均使用时长等等。

在一实施例中,可以预先记录用户对各应用程序的使用信息,这样后续在启动应用时便可以从记录的信息中获取相应应用的历史使用信息。

204、终端确定历史使用频率落入的预设频率范围、以及历史使用时长落入的预设时长范围。

例如,广播对应的目标应用集合为{待启动应用程序a、待启动应用程序c、待启动应用程序b、待启动应用程序d},获取待启动应用程序a在某个历史时间段内的历史使用频率为14、历史使用时长为160s。其历史使用频率落入预设频率范围[9,17]之间,历史使用时长落入预设时长范围[120s,200s]。

205、终端获取预设频率范围对应的第一启动优先级、以及预设时长范围对应的第二启动优先级。

其中,启动优先级表示应用程序的启动先后顺序,启动优先级越高表示应用程序越先启动,反之启动优先级越低表示应用程序越后启动。

其中,优先级可以用优先级标识来表征,该优先级标识可以为字符,如数字、字母、文字等。其中,优先级的高低可以由标识之间的关系来表示。

譬如,在一实施例中,优先级可以包括:优先级1、优先级2、安优先级3等等,其中优先级的高低可以由数字的大小表示。又比如,在一实施例中,安全等级可以包括:优先级a、优先级b、优先级c……,其中,优先级的高低可以由字母的先后顺序表示。

比如,终端可以获取预设频率范围[9,17]对应的第一启动优先级,获取预设时长范围[120s,200s]对应的第二启动优先级。

206、终端判断第一启动优先级是否与第二启动优先级相同,若是,则执行步骤207,若否,则执行步骤209。

207、终端设置待启动应用程序的启动优先级为第一启动优先级。

例如,待启动应用程序a在某个历史时间段内的历史使用频率为14、历史使用时长为160s。其历史使用频率落入预设频率范围[9,17]之间,历史使用时长落入预设时长范围[120s,200s]。预设频率范围[9,17]对应的第一启动优先级为3,获取预设时长范围[120s,200s]对应的第二启动优先级为3,可见,第一启动优先级与第二启动优先级相同均为3,那么可以设置待启动应用程序a的启动优先级为3。

208、终端判断目标应用集合内所有待启动应用程序是否设置完启动优先级,若否,则返回执行步骤203设置下一个待启动应用程序的启动优先级,若是,则执行步骤212。

209、终端确定第一启动优先级与该第二启动优先级之间是否存在中间启动优先级,若是,则执行步骤210,若否,则执行步骤211。

210、终端从中间启动优先级中选取目标启动优先级,并设置待启动应用程序的启动优先级为目标启动优先级,跳转执行步骤208。

例如,待启动应用程序b在某个历史时间段内的历史使用频率为5、历史使用时长为100s。其历史使用频率落入预设频率范围[1,6]之间,历史使用时长落入预设时长范围[50s,120s]。预设频率范围[1,6]对应的第一启动优先级为3,获取预设时长范围[50s,120s]对应的第二启动优先级为5。可见,第一启动优先级与第二启动优先级不相同,且二者之间存在中间启动优先级如4,那么可以设置待启动应用程序b的启动优先级为4。

211、终端设置待启动应用程序的启动优先级为第一启动优先级和第二启动优先级中级别高的启动优先级,跳转执行步骤208。

例如,待启动应用程序c在某个历史时间段内的历史使用频率为5、历史使用时长为100s。其历史使用频率落入预设频率范围[1,6]之间,历史使用时长落入预设时长范围[50s,120s]。预设频率范围[1,6]对应的第一启动优先级为7,获取预设时长范围[50s,120s]对应的第二启动优先级为6。可见,第一启动优先级与第二启动优先级不相同,且二者之间不存在中间启动优先级,那么可以设置待启动应用程序c的启动优先级为6。假设第二启动优先级6高于第一启动优先级7。

212、终端根据目标应用集合内各待启动应用程序的启动优先级,依次向所述目标应用集合内的待启动应用程序发送启动指令,以实现依次启动所述目标应用集合内的待启动应用程序。

比如,终端可以按照待启动应用程序的启动优先级从高到低、或者从低到高的顺序依次向集合内的待启动应用程序发送启动指令,以实现依次启动待启动应用程序。

在一实施例中,可以根据所述目标应用集合内各待启动应用程序的启动优先级,每个预设时间段依次向所述目标应用集合内的待启动应用程序发送启动指令,以实现依次启动所述目标应用集合内的待启动应用程序。

例如,广播对应的目标应用集合为{待启动应用程序a、待启动应用程序b、待启动应用程序c}时,待启动应用程序a的启动优先级为a、待启动应用程序b的优先级为b、待启动应用程序c的启动优先级为c,假设优先级a>优先级b>优先级c,可以先向待启动应用程序a发送启动指令,以启动待启动应用程序a,在等待预设时间段如10s后再向待启动应用程序b发送启动指令,以启动待启动应用程序b,在等待预设时间段如10s后最后再向启动应用程序c发送启动指令,以启动待启动应用程序c。

在一实施例中,终端还可以关闭当前后台运行时长大于预设运行时长的后台应用程序,然后,再根据目标应用集合内各待启动应用程序的启动优先级,依次向所述目标应用集合内的待启动应用程序发送启动指令,以实现依次启动所述目标应用集合内的待启动应用程序。这样,可以为即将启动的应用程序提供足够的资源,避免因资源不足导致应用启动失败。

由上可知,本发明实施例当检测到系统发起广播时,从终端的应用程序中选取位于预设启动应用集合内的待启动应用程序,得到广播对应的目标应用集合;获取目标应用集合内待启动应用程序的历史使用信息;根据历史使用信息设置待启动应用程序的启动优先级,得到目标应用集合内各待启动应用程序的启动优先级;根据目标应用集合内各待启动应用程序的启动优先级,依次向目标应用集合内的待启动应用程序发送启动指令,以实现依次启动目标应用集合内的待启动应用程序;该方案可以在系统广播时选择性地启动位于预设启动应用集合(即相当于白名单)内的应用程序,避免启动注册广播的所有应用程序,可以降低终端的资源消耗以及提升终端的安全性。此外,该方案还可针对不同的广播设置不同的白名单,提升了对应用启动管控的精确度。

为了便于更好的实施本发明实施例提供的应用程序的启动方法,在一实施例中还提供了一种应用程序的启动装置。其中名词的含义与上述应用程序的启动方法中相同,具体实现细节可以参考方法实施例中的说明。

如图5所示,应用程序的启动装置30可以包括:应用确定模块301、信息获取模块302、设置模块303以及启动模块304;

应用确定模块301,用于当检测到系统发起广播时,从终端的应用程序中选取位于预设启动应用集合内的待启动应用程序,得到所述广播对应的目标应用集合;

信息获取模块302,用于获取所述目标应用集合内待启动应用程序的历史使用信息;

设置模块303,用于根据所述历史使用信息设置所述待启动应用程序的启动优先级,得到目标应用集合内各待启动应用程序的启动优先级;

启动模块304,用于根据所述目标应用集合内各待启动应用程序的启动优先级,依次向所述目标应用集合内的待启动应用程序发送启动指令,以实现依次启动所述目标应用集合内的待启动应用程序。

在一实施例中,所述历史使用信息包括:历史使用频率和历史使用时长;,参考图6,设置模块303,可以包括:

范围确定子模块3031,用于确定所述历史使用频率落入的预设频率范围、以及所述历史使用时长落入的预设时长范围;

优先级获取子模块3032,用于获取预设频率范围对应的第一启动优先级、以及预设时长范围对应的第二启动优先级;

优先级设置模块3033,用于当所述第一启动优先级与第二启动优先级相同时,设置所述待启动应用程序的启动优先级为所述第一启动优先级或所述第二启动优先级。

在一实施例中,参考图7,所述设置模块303还可以包括:确定子模块3034;

确定子模块3034,用于当所述第一启动优先级与第二启动优先级不相同时,确定所述第一启动优先级与所述第二启动优先级之间是否存在中间启动优先级;

所述优先级设置子模块3033,还用于当所述确定子模块3034确定存在中间启动优先级时,从所述中间启动优先级中选取目标启动优先级,并设置所述待启动应用程序的启动优先级为目标启动优先级;当所述确定子模块确定不存在中间启动优先级时当设置所述待启动应用程序的启动优先级为所述第一启动优先级、第二启动优先级中级别高的优先级。

在一实施例中,参考图8,所述设置模块303可以包括:

参数获取子模块3035,用于根据所述历史使用频率和所述历史使用时长,获取所述待启动应用程序对应的启动顺序指示参数;

获取子模块3036,用于获取启动顺序指示参数对应的预设启动优先级;

设置子模块3037,用于将所述待启动应用程序的启动优先级设置为所述预设启动优先级。

在一实施例中,参数获取子模块3035,可以用于:

获取所述历史使用频率对应的第一权重值、以及所述历史使用时长对应的第二权重值;

根据第一权重值和所述第二权重值,对所述历史使用频率和所述历史使用时长进行加权处理,得到加权值;

将所述加权值作为所述待启动应用程序对应的启动顺序指示参数。

在一实施例中,应用确定模块301,可以具体用于:

从终端的应用程序中选取当前未使用时长小于预设时长的候选应用程序;

从所述候选应用程序中选取位于预设启动目标应用集合内的目标应用程序;

将所述目标应用程序作为待启动应用程序。

具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。

由上可知,本发明实施例应用程序的启动装置30当检测到系统发起广播时,通过应用确定模块301从终端的应用程序中选取位于预设启动应用集合内的待启动应用程序,得到广播对应的目标应用集合;由信息获取模块302获取目标应用集合内待启动应用程序的历史使用信息;由设置模块303根据历史使用信息设置待启动应用程序的启动优先级,得到目标应用集合内各待启动应用程序的启动优先级;由启动模块304根据目标应用集合内各待启动应用程序的启动优先级,依次向目标应用集合内的待启动应用程序发送启动指令,以实现依次启动目标应用集合内的待启动应用程序;该方案可以在系统广播时选择性地启动位于预设启动应用集合(即相当于白名单)内的应用程序,避免启动注册广播的所有应用程序,可以降低终端的资源消耗以及提升终端的安全性。

在一实施例中,本发明还提供一种存储介质,所述存储介质存储有指令,所述指令被处理器执行时实现本发明实施例任一提供的应用程序的启动方法的步骤。

在一实施例中,参考图9,本发明还提供一种终端400,包括存储器401和处理器402,所述存储器401存储有指令,所述处理器402加载所述指令以执行本发明实施例任一提供的应用程序的启动方法的步骤。

请参阅图10,图10为本发明实施例提供的终端结构示意图。该终端500可以包括射频(rf,radiofrequency)电路501、包括有一个或一个以上计算机可读存储介质的存储器502、输入单元503、显示单元504、传感器505、音频电路506、无线保真(wifi,wirelessfidelity)模块507、包括有一个或者一个以上处理核心的处理器508、以及电源509等部件。本领域技术人员可以理解,图10中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

射频电路501可用于收发信息,或通话过程中信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器508处理;另外,将涉及上行的数据发送给基站。

存储器502可用于存储应用程序和数据。存储器502存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器508通过运行存储在存储器502的应用程序,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器508和输入单元503对存储器502的访问。

输入单元503可用于接收输入的数字、字符信息或用户特征信息(比如指纹),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

显示单元504可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元504可包括显示面板。

终端还可包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。

音频电路506可通过扬声器、传声器提供用户与终端之间的音频接口。

无线保真(wifi)属于短距离无线传输技术,终端通过无线保真模块507可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了无线保真模块507,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器508是终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器502内的应用程序,以及调用存储在存储器502内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器508可包括一个或多个处理核心;优选的,处理器508可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器508中。

终端还包括给各个部件供电的电源509(比如电池)。

尽管图10中未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。

其中,处理器508加载存储器502中的指令或程序以实现以下步骤:

当检测到系统发起广播时,从终端的应用程序中选取位于预设启动应用集合内的待启动应用程序,得到所述广播对应的目标应用集合;

获取所述目标应用集合内待启动应用程序的历史使用信息;

根据所述历史使用信息设置所述待启动应用程序的启动优先级,得到目标应用集合内各待启动应用程序的启动优先级;

根据所述目标应用集合内各待启动应用程序的启动优先级,依次向所述目标应用集合内的待启动应用程序发送启动指令,以实现依次启动所述目标应用集合内的待启动应用程序。

一实施例中,所述历史使用信息包括:历史使用频率和历史使用时长;处理器508可以实现以下步骤:

确定所述历史使用频率落入的预设频率范围;

确定所述历史使用时长落入的预设时长范围;

获取预设频率范围对应的第一启动优先级、以及预设时长范围对应的第二启动优先级;

当所述第一启动优先级与第二启动优先级相同时,设置所述待启动应用程序的启动优先级为所述第一启动优先级或所述第二启动优先级。

一实施例中,处理器508可以实现以下步骤:

当所述第一启动优先级与第二启动优先级不相同时,确定所述第一启动优先级与所述第二启动优先级之间是否存在中间启动优先级;

若存在,则从所述中间启动优先级中选取目标启动优先级,并设置所述待启动应用程序的启动优先级为目标启动优先级;

若不存在,则设置所述待启动应用程序的启动优先级为所述第一启动优先级、第二启动优先级中级别高的优先级。

一实施例中,所述历史使用信息包括:历史使用频率和历史使用时长;处理器508还可以实现以下步骤:

根据所述历史使用频率和所述历史使用时长,获取所述待启动应用程序对应的启动顺序指示参数;

获取启动顺序指示参数对应的预设启动优先级;

将所述待启动应用程序的启动优先级设置为所述预设启动优先级。

一实施例中,处理器508可以实现以下步骤:

获取所述历史使用频率对应的第一权重值、以及所述历史使用时长对应的第二权重值;

根据第一权重值和所述第二权重值,对所述历史使用频率和所述历史使用时长进行加权处理,得到加权值;

将所述加权值作为所述待启动应用程序对应的启动顺序指示参数。

一实施例中,处理器508还可以实现以下步骤:

从终端的应用程序中选取当前未使用时长小于预设时长的候选应用程序;

从所述候选应用程序中选取位于预设启动目标应用集合内的目标应用程序;

将所述目标应用程序作为待启动应用程序。

需要说明的是,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,如存储在终端的存储器中,并被该终端内的至少一个处理器执行,在执行过程中可包括如信息发布方法的实施例的流程。其中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

以上对本发明实施例提供的一种应用程序的启动方法、装置、存储介质和终端进行了详细介绍,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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