一种应用启动方法和装置与流程

文档序号:12176567阅读:204来源:国知局
一种应用启动方法和装置与流程
本发明涉及电子
技术领域
,尤其涉及一种应用启动方法和装置。
背景技术
:随着智能终端,例如Android手机、平板电脑等的广泛使用,安装在智能终端上的应用也越来越多,应用的功能也更加强大。目前市场上所有的应用都是在接收到设备的系统广播之后开始启动的,有的是利用开机广播启动应用,有的是开机之后利用用户连接网络的广播启动应用,还有的是在SD卡(SecureDigitalMemoryCard,安全数码卡)挂载之后发送广播启动应用。当设备发送开机广播之后,所有需要接受开机广播的应用都会启动起来,应用启动时往往还需要自动升级或者更新资源信息,消耗大量的系统资源,导致智能终端开机时间较长,有时候一个Android设备开机甚至需要一分多钟,甚至在开机后的一段时间内终端运行非常卡顿,严重影响用户的体验效果。目前,大多数厂商通过提高智能终端的硬件水平来解决开机时间较长的问题,但是硬件水平的提高收到硬件成本和性能等因素的影响较大,效果并不理想。技术实现要素:本发明的目的在于提供一种应用启动方法和装置,旨在解决现有技术智能终端开机时间长,启动缓慢的问题。本发明的第一方面,提供一种应用启动方法,包括:获取预设的应用启动信息,所述应用启动信息包括具有不同优先级的启动组,每个所述启动组中包含预设数量的应用;根据所述启动组的优先级,按照预设顺序以及预定的时间间隔依次开启对应的所述启动组中的应用的广播接收权限,并发送系统广播。本发明的第二方面,提供一种应用启动装置,包括:获取模块,用于获取预设的应用启动信息,所述应用启动信息包括具有不同优先级的启动组,每个所述启动组中包含预设数量的应用;启动模块,用于根据所述启动组的优先级,按照预设顺序以及预定的时间间隔依次开启对应的所述启动组中的应用的广播接收权限,并发送系统广播。本发明与现有技术相比存在的有益效果是:通过获取预设的包括具有不同优先级的启动组的应用启动信息,并根据启动组的优先级,按照预设顺序以及预定的时间间隔依次开启对应的启动组的广播接收权限,并发送系统广播,使得同一时间只启动开启了广播接收权限的应用,实现对不同优先级的启动组分批启动应用,节省开机时间,避免由于大量应用的同时启动造成系统运行的卡顿,提高用户的体验。附图说明图1是本发明实施例一提供的一种应用启动方法的流程图;图2是本发明实施例二提供的一种应用启动方法的流程图;图3是本发明实施例三提供的一种应用启动装置的结构示意图;图4是本发明实施例四提供的一种应用启动装置的结构示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。以下结合具体附图对本发明的实现进行详细的描述。实施例一:图1是本发明实施例一提供的一种应用启动方法的流程图,具体包括步骤S101至S102,详述如下:S101、获取预设的应用启动信息,该应用启动信息包括具有不同优先级的启动组,每个启动组中包含预设数量的应用。具体地,应用启动信息包括具有不同优先级的启动组,并且每个启动组中包含预设数量的应用,其中,不同启动组之间的优先级可以不同,每个启动组中的应用的优先级相同。应用是在终端设备上运行的应用(Application,APP)软件,应用启动信息中的应用是终端筛选出的在该终端上所有需要接收系统广播的应用。每个启动组中包含的应用的预设数量可以设置为5,但并不限于此,预设数量可以根据实际使用情况进行设置,此处不做限制。例如,下表列出了一个具体的应用启动信息中包含的具体启动组和启动组中的应用。第1启动组第2启动组...第n-1启动组第n启动组微信美团......美图QQ糯米UC浏览器支付宝需要说明的是,每一种系统广播对应一个应用启动信息,终端在出厂时可以根据当前市场上应用的使用情况,对每一种系统广播均配置一个默认的应用启动信息,用户也可以在使用终端的过程中根据实际情况对应用启动信息进行配置更新和修改。S102、根据启动组的优先级,按照预设顺序以及预定的时间间隔依次开启对应的启动组的广播接收权限,并发送系统广播。具体地,根据步骤S101获取到的应用启动信息中的启动组的优先级,终端按照预设顺序,每隔预定的时间间隔依次开启对应的启动组中全部应用的广播接收权限,并发送系统广播,使得同一时间只启动开启了广播接收权限的应用。其中,预设顺序可以是启动组的优先级的顺序,即按照启动组的优先级,其具体可以是按照优先级从高到低的顺序,也可以是按照优先级从低到高的顺序,每隔预定的时间间隔开启一个或者多个启动组中全部应用的广播接收权限;预定的时间间隔可以是10分钟,但并不限于此,预定的时间间隔可以根据实际使用情况进行设置,此处不做限制。进一步地,系统广播可以包括开机广播、网络状态广播和扩展介质挂载广播,还可以包括任何其他需要应用接收的系统广播。需要说明的是,应用启动信息中的启动组中包含的应用是需要接收系统广播的应用,用户在终端使用过程中,可以将不需要接收系统广播的应用加入黑名单中,使得这些应用不再接收系统广播。本实施例中,通过获取预设的包括具有不同优先级的启动组的应用启动信息,并根据启动组的优先级,按照预设顺序以及预定的时间间隔依次开启对应的启动组的广播接收权限,并发送系统广播,使得同一时间只启动开启了广播接收权限的应用,实现对不同优先级的启动组分批启动应用,节省开机时间,避免由于大量应用的同时启动造成系统运行的卡顿,提高用户的体验。实施例二:图2是本发明实施例二提供的一种应用启动方法的流程图,具体包括步骤S201至S206,详述如下:S201、获取预设的应用启动信息,该应用启动信息包括具有不同优先级的启动组,每个启动组中包含预设数量的应用。具体地,应用启动信息包括具有不同优先级的启动组,并且每个启动组中包含预设数量的应用,其中,不同启动组之间的优先级可以不同,每个启动组中的应用的优先级相同。应用是在终端设备上运行的应用(Application,APP)软件,应用启动信息中的应用是终端筛选出的在该终端上所有需要接收系统广播的应用。每个启动组中包含的应用的预设数量可以设置为5,但并不限于此,预设数量可以根据实际使用情况进行设置,此处不做限制。需要说明的是,每一种系统广播对应一个应用启动信息,终端在出厂时可以根据当前市场上应用的使用情况,对每一种系统广播均配置一个默认的应用启动信息,用户也可以在使用终端过程中根据实际情况对应用启动信息进行配置更新和修改。S202、关闭全部启动组的广播接收权限。具体地,终端将应用启动信息中的全部启动组中的全部应用的广播接收权限关闭,使得所有应用都不能接收到系统广播。进一步地,系统广播可以包括开机广播、网络状态广播和扩展介质挂载广播,还可以包括任何其他需要应用接收的系统广播。以终端使用Android系统为例,获取需要接收开机广播的应用的具体实现方法如下:publicList<ResolveInfo>getShareApps(Contextcontext){List<ResolveInfo>mApps=newArrayList<ResolveInfo>();Intentintent=newIntent(Intent.ACTION_BOOT_COMPLETED);mApps=pm.queryBroadcastReceivers(intent,PackageManager.GET_DISABLED_COMPONENTS);returnmApps;}关闭应用对开机广播的接收权限的具体实现方法如下:publicvoidstopComponent(PackageManagerpm,ComponentNamecomponent){pm.setComponentEnabledSetting(component,PackageManager.COMPONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP);}S203、开启优先级最高的启动组的广播接收权限。具体地,在步骤S202将应用启动信息中的全部启动组中的全部应用的广播接收权限均关闭之后,根据启动组的优先级,首先开启优先级最高的启动组中的全部应用的广播接收权限。以终端使用Android系统为例,开启应用对开机广播的接收权限的具体实现方法如下:publicvoidstartComponent(PackageManagerpm,ComponentNamecomponent){pm.setComponentEnabledSetting(component,PackageManager.COMPONENT_ENABLED_STATE_ENABLED,PackageManager.DONT_KILL_APP);}S204、发送系统广播,以启动已开启广播接收权限的启动组中的应用。具体地,发送系统广播,使得优先级最高的启动组中的应用能够接收到系统广播,以启动开启了广播接收权限的启动组中的应用,其他未开启广播接收权限的启动组中的应用则无法接收到系统广播。S205、每隔预定的时间间隔继续开启与当前优先级相邻的下一优先级的启动组的广播接收权限,并发送系统广播,以启动全部启动组中的应用。预定的时间间隔可以是10分钟,但并不限于此,预定的时间间隔可以根据实际使用情况进行设置,此处不做限制。具体地,终端每隔预定的时间间隔开启与当前优先级相邻的下一优先级的启动组中的全部应用的广播接收权限,并发送系统广播,使得每隔预定的时间间隔只启动具有相同优先级并且开启了广播接收权限的启动组中的应用,直到启动全部启动组中的应用为止,从而实现了分批启动同启动组中的全部应用。需要说明的是,对已经接收到系统广播的在先优先级的启动组中的应用,再次接收到相同的系统广播时,直接忽略该系统广播,不进行任何处理。S206、若检测到启动组中的应用被卸载或者增加新应用,则根据用户的设置更新应用启动信息。具体地,当终端检测到应用启动信息的启动组中的应用被卸载或者检测到有新的应用被安装时,终端会提醒用户是否需要修改启动组中的包含的应用以及应用的处理顺序,并根据用户的修改结果及时更新应用启动信息。需要说明的是,本步骤与步骤S201至步骤S205没有必然的先后执行顺序,本步骤可以与其他步骤是并列的关系。本实施例中,通过获取预设的包括具有不同优先级的启动组的应用启动信息,首先关闭全部启动组的广播接收权限,使得所有应用都不能接收到系统广播,然后在此基础上,按照启动组的优先级从高到低的顺序,先开启优先级最高的启动组的广播接收权限,并发送系统广播,并且每隔预定的时间间隔继续开启下一优先级的启动组的广播接收权限并发送系统广播,使得同一时间只启动具有相同优先级并且开启了广播接收权限的应用,直到启动全部启动组中的应用为止,实现了按照优先级从高到低的顺序对不同优先级的启动组分批启动应用,节省开机时间,避免由于大量应用的同时启动造成系统运行的卡顿,提高用户的体验。实施例三:图3是本发明实施例三提供的一种应用启动装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图3示例的一种应用启动装置可以是前述实施例一提供的应用启动方法的执行主体,其可以是终端或者终端的一个功能模块。图3示例的一种应用启动装置包括:获取模块31和启动模块32。各功能模块详细说明如下:获取模块31,用于获取预设的应用启动信息,该应用启动信息包括具有不同优先级的启动组,每个启动组中包含预设数量的应用;启动模块32,用于根据获取模块31获取到的应用启动信息中启动组的优先级,按照预设顺序以及预定的时间间隔依次开启对应的启动组的广播接收权限,并发送系统广播。本实施例提供的一种应用启动装置中各模块实现各自功能的过程,具体可参考前述图1所示实施例的描述,此处不再赘述。从上述图3示例的一种应用启动装置可知,本实施例中,通过获取预设的包括具有不同优先级的启动组的应用启动信息,并根据启动组的优先级,按照预设顺序以及预定的时间间隔依次开启对应的启动组的广播接收权限,并发送系统广播,使得同一时间只启动开启了广播接收权限的应用,实现对不同优先级的启动组分批启动应用,节省开机时间,避免由于大量应用的同时启动造成系统运行的卡顿,提高用户的体验。实施例四:图4是本发明实施例四提供的一种应用启动装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图4示例的一种应用启动装置可以是前述实施例二提供的应用启动方法的执行主体,其可以是终端或者终端的一个功能模块。图4示例的一种应用启动装置包括:获取模块41和启动模块42。各功能模块详细说明如下:获取模块41,用于获取预设的应用启动信息,该应用启动信息包括具有不同优先级的启动组,每个启动组中包含预设数量的应用;启动模块42,用于根据获取模块41获取到的应用启动信息中启动组的优先级,按照预设顺序以及预定的时间间隔依次开启对应的启动组的广播接收权限,并发送系统广播。进一步地,启动模块42包括:权限开启子模块421,用于开启优先级最高的启动组的广播接收权限;广播发送子模块422,用于发送系统广播,以启动在权限开启子模块421中已开启广播接收权限的启动组中的应用;循环处理子模块423,用于每隔预定的时间间隔继续开启与当前优先级相邻的下一优先级的启动组的广播接收权限,并发送系统广播,以启动全部启动组中的应用。进一步地,启动模块42还包括:权限关闭子模块424,用于关闭全部启动组的广播接收权限。进一步地,该应用启动装置还包括:更新模块43,用于若检测到启动组中的应用被卸载或者增加新应用,则根据用户的设置更新应用启动信息.进一步地,系统广播包括开机广播、网络状态广播和扩展介质挂载广播。本实施例提供的一种应用启动装置中各模块实现各自功能的过程,具体可参考前述图2所示实施例的描述,此处不再赘述。从上述图4示例的一种应用启动装置可知,本实施例中,通过获取预设的包括具有不同优先级的启动组的应用启动信息,首先关闭全部启动组的广播接收权限,使得所有应用都不能接收到系统广播,然后在此基础上,按照启动组的优先级从高到低的顺序,先开启优先级最高的启动组的广播接收权限,并发送系统广播,并且每隔预定的时间间隔继续开启下一优先级的启动组的广播接收权限并发送系统广播,使得同一时间只启动具有相同优先级并且开启了广播接收权限的应用,直到启动全部启动组中的应用为止,实现了按照优先级从高到低的顺序对不同优先级的启动组分批启动应用,节省开机时间,避免由于大量应用的同时启动造成系统运行的卡顿,提高用户的体验。需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每一个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同或者相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。值得注意的是,上述装置实施例中,所包括的各个模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。本领域普通技术人员可以理解,实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1