CN116450229A - 应用软件的预启动方法、装置、存储介质及电子装置 - Google Patents
应用软件的预启动方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN116450229A CN116450229A CN202310157549.0A CN202310157549A CN116450229A CN 116450229 A CN116450229 A CN 116450229A CN 202310157549 A CN202310157549 A CN 202310157549A CN 116450229 A CN116450229 A CN 116450229A
- Authority
- CN
- China
- Prior art keywords
- service module
- application software
- initialization
- module
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000004590 computer program Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005406 washing Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种应用软件的预启动方法、装置、存储介质及电子装置,涉及智慧家庭技术领域,该应用软件的预启动方法包括:响应应用软件的启动请求,确定所述应用软件所执行的软件业务;获取所述应用软件执行所述软件业务时所需的业务模块;按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化,以对所述应用软件进行预启动,采用上述技术方案,解决了应用软件的启动效率低下的技术问题。
Description
技术领域
本申请涉及智慧家庭技术领域,具体而言,涉及一种应用软件的预启动方法、装置、存储介质及电子装置。
背景技术
目前,随着,智能家电的智能化水平越来越高,智能家电能够支持的应用软件的数量也呈现飞速增长的趋势,相应的,应用软件在开发过程中需要执行的代码数量也在不断增长。
由于相关领域内,代码的可扩展性、可读性等性能一般会随着时间的推移而下降,导致应用软件的启动速度降低,相关技术中,为了提高应用软件的启动速度,往往需要对应用软件进行初始化。当前做法是将多功能、高耦合的代码逻辑拆散成功能单一、职责明确的模块(module),对其中需要初始化的模块进行初始化操作,不过这种方法的主模块强制依赖需要初始化的模块,必须先调用主模块的初始化方法,再对各个模块进行初始化,存在应用软件的启动效率低下的技术问题。
因此,针对相关技术中,应用软件的启动效率低下的技术问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种应用软件的预启动方法、装置、存储介质及电子装置,以至少解决相关技术中,应用软件的启动效率低下的技术问题。
根据本申请实施例的一个实施例,提供了一种应用软件的预启动方法,包括:响应应用软件的启动请求,确定所述应用软件所执行的软件业务;获取所述应用软件执行所述软件业务时所需的业务模块;按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化,以对所述应用软件进行预启动。
在一个示例性实施例中,获取所述应用软件执行所述软件业务时所需的业务模块,包括:确定所述应用软件的业务类型;获取所述业务类型对应的基础业务模块和自定义业务模块,其中,所述基础业务模块用于提供所述软件业务的基础业务,所述自定义业务模块用于提供所述软件业务的定制业务;将所述基础业务模块和所述自定义业务模块确定为所述应用软件执行所述软件业务时所需的业务模块。
在一个示例性实施例中,在按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化之前,所述方法还包括:比较所述基础业务模块对应的第一优先级和所述自定义业务模块的第二优先级,得到比较结果;根据所述比较结果设置所述基础业务模块和所述自定义业务模块的初始化顺序,以确定出所述业务模块的初始化顺序。
在一个示例性实施例中,比较所述基础业务模块对应的第一优先级和所述自定义业务模块的第二优先级,包括:获取所述基础业务模块包含的第一子模块的第一数量和所述自定义业务模块包含的第二子模块的第二数量;在确定所述第一数量大于所述第二数量的情况下,确定所述第一优先级高于所述第二优先级;在确定所述第一数量不大于所述第二数量的情况下,确定所述第一优先级低于所述第二优先级。
在一个示例性实施例中,在按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化之前,所述方法还包括:从所述应用软件的历史启动记录获取所述基础业务模块的启动次数和所述自定义业务模块的启动次数;根据所述基础业务模块的启动次数和所述自定义业务模块的启动次数确定所述业务模块对应的初始化顺序。
在一个示例性实施例中,在按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化,以对所述应用软件进行预启动之前,所述方法还包括:获取初始化配置文件,其中,所述获取初始化配置文件包括:对获取到的所述业务模块的初始化注解信息进行扫描,确定出所述业务模块的初始化配置信息;使用编译器对所述初始化配置信息进行编译,生成所述初始化配置文件。
在一个示例性实施例中,在对获取到的所述业务模块的初始化注解信息进行扫描之前,所述方法还包括:获取为所述业务模块预先配置的初始化配置接口;确定所述初始化配置接口所指示的初始化模块,所述初始化模块对应有所述业务模块的初始化注解信息。
根据本申请实施例的另一个实施例,还提供了一种应用软件的预启动装置,包括:响应模块,用于响应应用软件的启动请求,确定所述应用软件所执行的软件业务;获取模块,用于获取所述应用软件执行所述软件业务时所需的业务模块;预启动模块,用于按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化,以对所述应用软件进行预启动。
根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述应用软件的预启动方法。
根据本申请实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的应用软件的预启动方法。
在本申请实施例中,响应应用软件的启动请求,确定所述应用软件所执行的软件业务;获取所述应用软件执行所述软件业务时所需的业务模块;按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化,以对所述应用软件进行预启动;采用上述技术方案,解决了应用软件的启动效率低下的技术问题,进而能够提高应用软件的启动效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例的一种应用软件的预启动方法的硬件环境示意图;
图2是根据本申请实施例的应用软件的预启动方法的流程图;
图3是根据本申请实施例的应用软件的预启动方法的流程示意图;
图4是根据本申请实施例的一种应用软件的预启动装置的结构框图(一);
图5是根据本申请实施例的一种应用软件的预启动装置的结构框图(二)。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一个方面,提供了一种应用软件的预启动方法。该应用软件的预启动方法广泛应用于智慧家庭(Smart Home)、智能家居、智能家用设备生态、智慧住宅(Intelligence House)生态等全屋智能数字化控制应用场景。可选地,在本实施例中,上述应用软件的预启动方法可以应用于如图1所示的由终端设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器104提供数据运算服务。
上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:WIFI(Wireless Fidelity,无线保真),蓝牙。终端设备102可以并不限定于为PC、手机、平板电脑、智能空调、智能烟机、智能冰箱、智能烤箱、智能炉灶、智能洗衣机、智能热水器、智能洗涤设备、智能洗碗机、智能投影设备、智能电视、智能晾衣架、智能窗帘、智能影音、智能插座、智能音响、智能音箱、智能新风设备、智能厨卫设备、智能卫浴设备、智能扫地机器人、智能擦窗机器人、智能拖地机器人、智能空气净化设备、智能蒸箱、智能微波炉、智能厨宝、智能净化器、智能饮水机、智能门锁等。
在本实施例中提供了一种应用软件的预启动方法,应用于上述计算机终端,图2是根据本申请实施例的应用软件的预启动方法的流程图,该流程包括如下步骤:
步骤S202,响应应用软件的启动请求,确定所述应用软件所执行的软件业务;
步骤S204,获取所述应用软件执行所述软件业务时所需的业务模块;
步骤S206,按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化,以对所述应用软件进行预启动。
通过上述步骤,响应应用软件的启动请求,确定所述应用软件所执行的软件业务;获取所述应用软件执行所述软件业务时所需的业务模块;按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化,以对所述应用软件进行预启动,解决了相关技术中,应用软件的启动效率低下的技术问题,进而能够提高应用软件的启动效率。
在一个示例性实施例中,对于上述步骤S204,可以通过以下技术方案获取所述应用软件执行所述软件业务时所需的业务模块,具体步骤包括:确定所述应用软件的业务类型;获取所述业务类型对应的基础业务模块和自定义业务模块,其中,所述基础业务模块用于提供所述软件业务的基础业务,所述自定义业务模块用于提供所述软件业务的定制业务;将所述基础业务模块和所述自定义业务模块确定为所述应用软件执行所述软件业务时所需的业务模块。
需要说明的是,上述自定义业务模块和基础业务模块可以具有部分相同的子模块,例如,用于实现用户名登录的子模块,但不限于此。
其中,对业务模块进行初始化的过程可以包括对基础业务模块进行初始化和对自定义业务模块进行初始化。需要说明的是,对基础业务模块进行初始化可以理解为对基础业务模块的子模块依次进行初始化,其中,基础业务模块的子模块均对应有预设初始化顺序。同样的,对自定义业务模块进行初始化可以理解为对自定义业务模块的子模块依次进行初始化,其中,自定义业务模块的子模块也对应有预设初始化顺序。
在一个示例性实施例中,进一步的,在按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化之前,还可以比较所述基础业务模块对应的第一优先级和所述自定义业务模块的第二优先级,得到比较结果;根据所述比较结果设置所述基础业务模块和所述自定义业务模块的初始化顺序,以确定出所述业务模块的初始化顺序。
需要说明的是,在按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化的过程中,如果第一优先级高于第二优先级,则先根据初始化配置文件对基础业务模块进行初始化,再根据初始化配置文件对自定义业务模块进行初始化。反之,则先根据初始化配置文件对自定义业务模块进行初始化,再根据初始化配置文件对基础业务模块进行初始化。或者,在第一优先级与第二优先级为同一级别的情况下,可以根据初始化配置文件同时对自定义业务模块和基础业务模块进行初始化,本申请对此不作限制。
在一个示例性实施例中,对于如何比较所述基础业务模块对应的第一优先级和所述自定义业务模块的第二优先级的过程,进一步的,还提出了以下实现方案,具体包括:获取所述基础业务模块包含的第一子模块的第一数量和所述自定义业务模块包含的第二子模块的第二数量;在确定所述第一数量大于所述第二数量的情况下,确定所述第一优先级高于所述第二优先级;在确定所述第一数量不大于所述第二数量的情况下,确定所述第一优先级低于所述第二优先级。
在一个示例性实施例中,进一步的,在按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化之前,可以通过以下方式确定初始化顺序:从所述应用软件的历史启动记录获取所述基础业务模块的启动次数和所述自定义业务模块的启动次数;根据所述基础业务模块的启动次数和所述自定义业务模块的启动次数确定所述业务模块对应的初始化顺序。
需要说明的是,在本实施例中,对于根据所述基础业务模块的启动次数和所述自定义业务模块的启动次数确定所述业务模块对应的初始化顺序的过程,可以设置启动次数更大的业务模块具有更高的优先级。例如,在基础业务模块的启动次数大于所述自定义业务模块的启动次数的情况下,设置基础业务模块的第一优先级高于所述自定义业务模块的第二优先级,且确定基础业务模块先于自定义业务模块进行初始化。
在一个示例性实施例中,在按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化,以对所述应用软件进行预启动之前,还可以获取初始化配置文件,其中,所述获取初始化配置文件包括:对获取到的所述业务模块的初始化注解信息进行扫描,确定出所述业务模块的初始化配置信息;使用编译器对所述初始化配置信息进行编译,生成所述初始化配置文件。
在一个示例性实施例中,在对获取到的所述业务模块的初始化注解信息进行扫描之前,进一步提出了以下技术方案,具体包括:获取为所述业务模块预先配置的初始化配置接口;确定所述初始化配置接口所指示的初始化模块,所述初始化模块对应有所述业务模块的初始化注解信息。
其中,上述初始化注解信息例如可以包括初始化优先级,模块名字,所属初始化组名字,是否需要在主线程进行,是否需要在同意隐私协议之前初始化,默认值否,是否可以延迟初始化,延迟初始化时间等,但不限于此。
进一步的,在确定所述应用软件完成预启动之后,获取所述应用软件执行所述软件业务所需的主模块,根据所述启动请求控制所述主模块启动,以启动所述应用软件。其中,所述主模块用于全面启动所述应用软件。
可选的,在确定所述应用软件完成预启动之后,还可以向目标对象发送提示信息,用于提示所述目标对象应用软件完成预启动。
在一个实施例中,可以响应目标对象的修改指令,对所述应用软件执行所述软件业务时所需的业务模块进行修改,其中,在所述修改指令用于指示新增模块的情况下,如果确定新增模块的模块类型为所述自定义业务模块,则在所述自定义业务模块内增加子模块。
可选的,在新增模块的模块类型为所述自定义业务模块的情况下,如果所述新增模块的定制业务不为空,则在所述自定义业务模块内增加子模块。如果所述新增模块的定制业务为空,则不在所述自定义业务模块内增加子模块。
类似的,在所述修改指令用于指示删除模块的情况下,可以参照上述新增模块实施例,本申请在此不再赘述。
基于上述实施例,可以解决应用模块初始化时对主模块的强制依赖问题,在对业务模块进行新增或者删除的修改操作时,直接对业务模块进行修改即可,不需要再对主模块进行修改,把修改操作限定到了单一模块内,实现了开发工作的解耦。
为了更好的理解上述应用软件的预启动方法的过程,以下再结合可选实施例对上述应用软件的预启动的实现方法流程进行说明,但不用于限定本申请实施例的技术方案。
在本实施例中提供了一种应用软件的预启动方法,图3是根据本申请实施例的应用软件的预启动方法的示意图,如图3所示,可以基于业务模块,Gradle和UpInitCompiler模块(相当于上述编译器)三者实现上述应用软件的预启动方法。其中,Gradle是一种现代自动化工具,用于项目构建自动化的软件开发。
具体的,实现步骤如下:
步骤S1:进行业务模块的开发;
步骤S2:实现UpInit模块的初始化接口(即初始化配置接口);
在本步骤中,可以由开发人员在业务模块的初始化代码内添加用于实现UpInit初始化模块的接口,示例程序如下:
步骤S3:配置UpInitAnnotation初始化注解;
具体的:由开发人员对业务模块的初始化类进行初始化注解的配置。其中,初始化注解的示例程序如下:
进一步的,对于进行初始化注解的配置的过程,以用于进行功能测试的业务模块为例,假定测试模块的初始化类TestInit需要在主线程初始化且需要第一个初始化(即上述初始化顺序),示例程序如下:
步骤S4:构建安装包Apk;
步骤S5:扫描初始化注解;
基于上述步骤,在构建Apk的过程中,可以通过Android的APT(AnnotationProcessing Tool,即注解处理器工具)扫描所有业务模块的UpInit的初始化注解。
步骤S6:生成初始化配置类(即上述初始化配置文件)。
具体的,例如,可以通过JavaPoet中用于生成Java文件的相关api接口,根据扫描到的初始化注解相关生成初始化配置java类。从而在应用软件启动时根据生成的初始化配置类执行业务模块的初始化。
通过上述步骤,通过提前创建业务模块的初始化注解信息,能够在编译期根据初始化注解信息生成不同业务模块的初始化配置文件,从而对不同业务模块分别初始化,提升了应用软件的启动效率,进而提高了开发效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
图4是根据本申请实施例的一种应用软件的预启动装置的结构框图(一);如图4所示,包括:
响应模块42,用于响应应用软件的启动请求,确定所述应用软件所执行的软件业务;
获取模块44,用于获取所述应用软件执行所述软件业务时所需的业务模块;
预启动模块46,用于按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化,以对所述应用软件进行预启动。
通过上述装置,通过响应应用软件的启动请求,确定所述应用软件所执行的软件业务;获取所述应用软件执行所述软件业务时所需的业务模块;按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化,以对所述应用软件进行预启动,解决了相关技术中,应用软件的启动效率低下的技术问题,进而能够提高应用软件的启动效率。
在一个示例性实施例中,上述获取模块44还用于:确定所述应用软件的业务类型;获取所述业务类型对应的基础业务模块和自定义业务模块,其中,所述基础业务模块用于提供所述软件业务的基础业务,所述自定义业务模块用于提供所述软件业务的定制业务;将所述基础业务模块和所述自定义业务模块确定为所述应用软件执行所述软件业务时所需的业务模块。
需要说明的是,上述自定义业务模块和基础业务模块可以具有部分相同的子模块,例如,用于实现用户名登录的子模块,但不限于此。
其中,对业务模块进行初始化的过程可以包括对基础业务模块进行初始化和对自定义业务模块进行初始化。需要说明的是,对基础业务模块进行初始化可以理解为对基础业务模块的子模块依次进行初始化,其中,基础业务模块的子模块均对应有预设初始化顺序。同样的,对自定义业务模块进行初始化可以理解为对自定义业务模块的子模块依次进行初始化,其中,自定义业务模块的子模块也对应有预设初始化顺序。
在一个示例性实施例中,进一步的,上述预启动模块46,还用于:比较所述基础业务模块对应的第一优先级和所述自定义业务模块的第二优先级,得到比较结果;根据所述比较结果设置所述基础业务模块和所述自定义业务模块的初始化顺序,以确定出所述业务模块的初始化顺序。
需要说明的是,在按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化的过程中,如果第一优先级高于第二优先级,则先根据初始化配置文件对基础业务模块进行初始化,再根据初始化配置文件对自定义业务模块进行初始化。反之,则先根据初始化配置文件对自定义业务模块进行初始化,再根据初始化配置文件对基础业务模块进行初始化。或者,在第一优先级与第二优先级为同一级别的情况下,可以根据初始化配置文件同时对自定义业务模块和基础业务模块进行初始化,本申请对此不作限制。
在一个示例性实施例中,进一步的,上述预启动模块46,还用于:获取所述基础业务模块包含的第一子模块的第一数量和所述自定义业务模块包含的第二子模块的第二数量;在确定所述第一数量大于所述第二数量的情况下,确定所述第一优先级高于所述第二优先级;在确定所述第一数量不大于所述第二数量的情况下,确定所述第一优先级低于所述第二优先级。
在一个示例性实施例中,进一步的,上述预启动模块46,还用于:从所述应用软件的历史启动记录获取所述基础业务模块的启动次数和所述自定义业务模块的启动次数;根据所述基础业务模块的启动次数和所述自定义业务模块的启动次数确定所述业务模块对应的初始化顺序。
需要说明的是,在本实施例中,对于根据所述基础业务模块的启动次数和所述自定义业务模块的启动次数确定所述业务模块对应的初始化顺序的过程,可以设置启动次数更大的业务模块具有更高的优先级。例如,在基础业务模块的启动次数大于所述自定义业务模块的启动次数的情况下,设置基础业务模块的第一优先级高于所述自定义业务模块的第二优先级,且确定基础业务模块先于自定义业务模块进行初始化。
在一个示例性实施例中,上述应用软件的预启动装置除了包括上述响应模块42,上述获取模块44和上述预启动模块46之外,还包括初始化配置文件生成模块。如图5所示,图5是根据本申请实施例的一种应用软件的预启动装置的结构框图(二),上述应用软件的预启动装置还包括初始化配置文件生成模块52,用于:获取初始化配置文件,其中,所述获取初始化配置文件包括:对获取到的所述业务模块的初始化注解信息进行扫描,确定出所述业务模块的初始化配置信息;使用编译器对所述初始化配置信息进行编译,生成所述初始化配置文件。
在一个示例性实施例中,上述初始化配置文件生成模块52,还用于:在对获取到的所述业务模块的初始化注解信息进行扫描之前,获取为所述业务模块预先配置的初始化配置接口;确定所述初始化配置接口所指示的初始化模块,所述初始化模块对应有所述业务模块的初始化注解信息。
其中,上述初始化注解信息例如可以包括初始化优先级,模块名字,所属初始化组名字,是否需要在主线程进行,是否需要在同意隐私协议之前初始化,默认值否,是否可以延迟初始化,延迟初始化时间等,但不限于此。
进一步的,在确定所述应用软件完成预启动之后,获取所述应用软件执行所述软件业务所需的主模块,根据所述启动请求控制所述主模块启动,以启动所述应用软件。其中,所述主模块用于全面启动所述应用软件。
可选的,在确定所述应用软件完成预启动之后,还可以向目标对象发送提示信息,用于提示所述目标对象应用软件完成预启动。
在一个实施例中,可以响应目标对象的修改指令,对所述应用软件执行所述软件业务时所需的业务模块进行修改,其中,在所述修改指令用于指示新增模块的情况下,如果确定新增模块的模块类型为所述自定义业务模块,则在所述自定义业务模块内增加子模块。
可选的,在新增模块的模块类型为所述自定义业务模块的情况下,如果所述新增模块的定制业务不为空,则在所述自定义业务模块内增加子模块。如果所述新增模块的定制业务为空,则不在所述自定义业务模块内增加子模块。
类似的,在所述修改指令用于指示删除模块的情况下,可以参照上述新增模块实施例,本申请在此不再赘述。
本申请的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,响应应用软件的启动请求,确定所述应用软件所执行的软件业务;
S2,获取所述应用软件执行所述软件业务时所需的业务模块;
S3,按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化,以对所述应用软件进行预启动。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,响应应用软件的启动请求,确定所述应用软件所执行的软件业务;
S2,获取所述应用软件执行所述软件业务时所需的业务模块;
S3,按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化,以对所述应用软件进行预启动。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种应用软件的预启动方法,其特征在于,包括:
响应应用软件的启动请求,确定所述应用软件所执行的软件业务;
获取所述应用软件执行所述软件业务时所需的业务模块;
按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化,以对所述应用软件进行预启动。
2.根据权利要求1所述的应用软件的预启动方法,其特征在于,获取所述应用软件执行所述软件业务时所需的业务模块,包括:
确定所述应用软件的业务类型;
获取所述业务类型对应的基础业务模块和自定义业务模块,其中,所述基础业务模块用于提供所述软件业务的基础业务,所述自定义业务模块用于提供所述软件业务的定制业务;
将所述基础业务模块和所述自定义业务模块确定为所述应用软件执行所述软件业务时所需的业务模块。
3.根据权利要求2所述的应用软件的预启动方法,其特征在于,在按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化之前,所述方法还包括:
比较所述基础业务模块对应的第一优先级和所述自定义业务模块的第二优先级,得到比较结果;
根据所述比较结果设置所述基础业务模块和所述自定义业务模块的初始化顺序,以确定出所述业务模块的初始化顺序。
4.根据权利要求3所述的应用软件的预启动方法,其特征在于,比较所述基础业务模块对应的第一优先级和所述自定义业务模块的第二优先级,包括:
获取所述基础业务模块包含的第一子模块的第一数量和所述自定义业务模块包含的第二子模块的第二数量;
在确定所述第一数量大于所述第二数量的情况下,确定所述第一优先级高于所述第二优先级;
在确定所述第一数量不大于所述第二数量的情况下,确定所述第一优先级低于所述第二优先级。
5.根据权利要求2所述的应用软件的预启动方法,其特征在于,在按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化之前,所述方法还包括:
从所述应用软件的历史启动记录获取所述基础业务模块的启动次数和所述自定义业务模块的启动次数;
根据所述基础业务模块的启动次数和所述自定义业务模块的启动次数确定所述业务模块对应的初始化顺序。
6.根据权利要求1所述的应用软件的预启动方法,其特征在于,在按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化,以对所述应用软件进行预启动之前,所述方法还包括:获取初始化配置文件,其中,所述获取初始化配置文件包括:
对获取到的所述业务模块的初始化注解信息进行扫描,确定出所述业务模块的初始化配置信息;
使用编译器对所述初始化配置信息进行编译,生成所述初始化配置文件。
7.根据权利要求6所述的应用软件的预启动方法,其特征在于,在对获取到的所述业务模块的初始化注解信息进行扫描之前,所述方法还包括:
获取为所述业务模块预先配置的初始化配置接口;
确定所述初始化配置接口所指示的初始化模块,所述初始化模块对应有所述业务模块的初始化注解信息。
8.一种应用软件的预启动装置,其特征在于,包括:
响应模块,用于响应应用软件的启动请求,确定所述应用软件所执行的软件业务;
获取模块,用于获取所述应用软件执行所述软件业务时所需的业务模块;预启动模块,用于按照所述业务模块对应的初始化顺序和为所述业务模块预先配置的初始化配置文件对所述业务模块进行初始化,以对所述应用软件进行预启动。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310157549.0A CN116450229A (zh) | 2023-02-13 | 2023-02-13 | 应用软件的预启动方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310157549.0A CN116450229A (zh) | 2023-02-13 | 2023-02-13 | 应用软件的预启动方法、装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116450229A true CN116450229A (zh) | 2023-07-18 |
Family
ID=87119055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310157549.0A Pending CN116450229A (zh) | 2023-02-13 | 2023-02-13 | 应用软件的预启动方法、装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116450229A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118642783A (zh) * | 2024-08-15 | 2024-09-13 | 深圳市智慧城市科技发展集团有限公司 | 应用程序的初始化模块确定方法、服务端及可读存储介质 |
-
2023
- 2023-02-13 CN CN202310157549.0A patent/CN116450229A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118642783A (zh) * | 2024-08-15 | 2024-09-13 | 深圳市智慧城市科技发展集团有限公司 | 应用程序的初始化模块确定方法、服务端及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116450229A (zh) | 应用软件的预启动方法、装置、存储介质及电子装置 | |
CN114911535B (zh) | 应用程序组件配置方法、存储介质及电子装置 | |
CN115167164A (zh) | 设备场景的确定方法和装置、存储介质及电子装置 | |
CN114675928A (zh) | 容器镜像的构建方法和装置、存储介质及电子装置 | |
CN117573320A (zh) | 任务节点的执行方法、装置、存储介质及电子装置 | |
CN116107975A (zh) | 设备的控制方法和装置、存储介质及电子装置 | |
CN114697150B (zh) | 命令的下发方法和装置、存储介质及电子装置 | |
CN116027937A (zh) | 待编辑组件的渲染方法和装置、存储介质及电子装置 | |
CN115631832A (zh) | 烹饪计划的确定方法及装置、存储介质及电子装置 | |
CN115687806A (zh) | 目标设备列表的确定方法、装置、存储介质及电子装置 | |
CN116521157A (zh) | 项目集成方法和装置、存储介质及电子装置 | |
CN115296958B (zh) | 设备控制任务的分发方法、装置、存储介质及电子装置 | |
CN117453321A (zh) | 业务实例的生成方法、装置、存储介质及电子装置 | |
CN116301767A (zh) | 接口文件的生成方法、装置、存储介质及电子装置 | |
CN115277412B (zh) | 边缘网关的升级方法及装置、存储介质及电子装置 | |
CN118779024A (zh) | 调用方式的确定方法及装置、存储介质及电子装置 | |
CN115988152B (zh) | 目标烹饪视频的生成方法、装置、存储介质及电子装置 | |
CN116521767A (zh) | 数据信息的确定方法和装置、存储介质及电子装置 | |
CN118656520A (zh) | 数据修改方法、存储介质及电子装置 | |
CN116541012A (zh) | 基础参数的修改方法及装置、存储介质及电子装置 | |
CN116980439A (zh) | 标签数据的调整方法、装置、存储介质及电子装置 | |
CN118733423A (zh) | 自动化测试的页面化方法、装置、存储介质及电子装置 | |
CN116112353A (zh) | 网关修改请求体的方法、控制装置及计算机可读存储介质 | |
CN116107551A (zh) | 应用数据的检测方法、装置、存储介质及电子装置 | |
CN116225456A (zh) | 程序部署的方法、装置、存储介质及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |