CN118012518A - 应用程序启动方法、装置、计算机设备及存储介质 - Google Patents
应用程序启动方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN118012518A CN118012518A CN202211388313.XA CN202211388313A CN118012518A CN 118012518 A CN118012518 A CN 118012518A CN 202211388313 A CN202211388313 A CN 202211388313A CN 118012518 A CN118012518 A CN 118012518A
- Authority
- CN
- China
- Prior art keywords
- target
- resource
- application program
- service
- starting
- 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 57
- 230000003068 static effect Effects 0.000 claims abstract description 139
- 230000004044 response Effects 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 71
- 238000004806 packaging method and process Methods 0.000 claims description 24
- 238000012986 modification Methods 0.000 claims description 16
- 230000004048 modification Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 13
- 238000009877 rendering Methods 0.000 claims description 7
- 230000015572 biosynthetic process Effects 0.000 claims description 4
- 230000006854 communication Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 238000009434 installation Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000011038 discontinuous diafiltration by volume reduction Methods 0.000 description 3
- 230000007175 bidirectional communication Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001960 triggered effect Effects 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
-
- 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/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种应用程序启动方法、装置、计算机设备及存储介质,方法包括:响应针对于目标应用程序的启动指令,加载与目标应用程序关联的各个业务资源包;其中,各业务资源包中对应包含有预先通过资源拆分配置的业务模块名称;根据业务资源包中的业务模块名称,获取启动目标应用程序所需的目标静态资源,以利用目标静态资源,对当前页面进行页面渲染;启动目标应用程序,并在当前页面中显示目标静态资源。采用本申请,能够有效缩减应用程序安装包的数据体积,进而提升该应用程序的启动效率。
Description
技术领域
本申请实施例涉及应用开发技术领域,特别是涉及一种应用程序启动方法、装置、计算机设备及存储介质。
背景技术
随着智能手机的普及,以及业务场景的井喷式发展,对于任何一个移动互联网应用(APP)来说,其拥有的功能越来越多的同时,承载功能代码(静态资源)的安装包体积也会越来越大,最终导致用户安装或更新的意愿也越来越低。
对此,如何在APP应用开发中缩减安装包体积,成为当前应用开发领域亟待解决的问题之一。但当前的APP开发技术仍停留在使用React Native自带的图片打包和加载脚本,这无疑会导致业务所有静态资源文件都集中在一个目录,造成安装包仍处于臃肿且冗余的状态。
发明内容
本申请的目的在于提供一种应用程序启动方法、装置、计算机设备及存储介质,用以通过资源解耦、存储位置变更来缩减程序安装包的数据体积,提升应用程序的启动效率,改善用户体验度。
第一方面,本申请提供一种应用程序启动方法,包括:
响应针对于目标应用程序的启动指令,加载与目标应用程序关联的各个业务资源包;其中,各业务资源包中对应包含有预先通过资源拆分配置的业务模块名称;
根据业务资源包中的业务模块名称,获取启动目标应用程序所需的目标静态资源,以利用目标静态资源,对当前页面进行页面渲染;
启动目标应用程序,并在当前页面中显示目标静态资源。
在本申请一些实施例中,在响应针对于目标应用程序的启动指令,加载与目标应用程序关联的各个业务资源包之前,还包括:响应针对于目标应用程序的打包指令,判断本地缓存中是否存在与目标业务功能相关联的静态资源文件夹;其中,目标业务功能是为目标应用程序配置的业务功能;若存在,则指示服务器更新静态资源文件夹的源码文件,并在得到更新后的源码文件之后,运行更新后的源码文件,以对目标业务功能进行功能模块打包,得到与目标业务功能相关联的业务资源包;其中,源码文件中包含有用于加载或打包业务资源包的源码信息。
在本申请一些实施例中,响应针对于目标应用程序的打包指令,判断本地缓存中是否存在与目标业务功能相关联的静态资源文件夹,包括:响应针对于目标应用程序的打包指令,确定为目标应用程序配置的目标业务功能;获取与目标业务功能相关联的业务模块名称,以生成包含业务模块名称的路径修改指令;发送路径修改指令至服务器,以使服务器响应于路径修改指令,将业务模块名称插入至已有的静态资源输出路径中,得到修改后的静态资源输出路径之后,反馈路径构成信息;根据路径构成信息,判断本地缓存中是否存在与目标业务功能相关联的静态资源文件夹。
在本申请一些实施例中,应用程序启动方法还包括:若不存在,则创建与目标业务功能相关联的静态资源文件夹;将静态资源文件夹存储在本地。
在本申请一些实施例中,根据业务资源包中的业务模块名称,获取启动目标应用程序所需的目标静态资源,以利用目标静态资源,对当前页面进行页面渲染,包括:根据业务资源包中的业务模块名称,生成对应的静态资源访问路径;基于静态资源访问路径进行资源访问,得到目标静态资源;利用目标静态资源,对当前页面进行页面渲染。
在本申请一些实施例中,启动目标应用程序,并在当前页面中显示目标静态资源,包括:启动目标应用程序,确定当前页面的页面标签;根据当前页面的页面标签,在当前页面中显示目标静态资源。
第二方面,本申请提供一种应用程序启动装置,包括:
指令响应模块,用于响应针对于目标应用程序的启动指令,加载与目标应用程序关联的各个业务资源包;其中,各业务资源包中对应包含有预先通过资源拆分配置的业务模块名称;
资源获取模块,用于根据业务资源包中的业务模块名称,获取启动目标应用程序所需的目标静态资源,以利用目标静态资源,对当前页面进行页面渲染;
程序启动模块,用于启动目标应用程序,并在当前页面中显示目标静态资源。
第三方面,本申请还提供一种计算机设备,包括:
一个或多个处理器;
存储器;以及一个或多个应用程序,其中的一个或多个应用程序被存储于存储器中,并配置为由处理器执行以实现上述应用程序启动方法。
第四方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器进行加载,以执行应用程序启动方法中的步骤。
第五方面,本申请实施例提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面提供的方法。
上述应用程序启动方法、装置、计算机设备及存储介质,终端通过响应针对于目标应用程序的启动指令,加载与目标应用程序关联,且对应包含有预先通过资源拆分配置的业务模块名称的各个业务资源包,即可根据业务资源包中的业务模块名称,获取启动目标应用程序所需的目标静态资源,以利用目标静态资源,对当前页面进行页面渲染,进而启动目标应用程序,并在当前页面中显示目标静态资源。由此,本申请提出基于资源解耦实现程序安装包的体积缩减,不仅可有效提升应用程序的启动效率,还可满足用户关于应用程序的安装或更新需求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中提供的应用程序启动方法的场景示意图;
图2为本申请实施例中提供的应用程序启动方法的流程示意图;
图3为本申请实施例中提供的应用程序启动方法的具体流程示意图;
图4是本申请实施例中提供的应用程序启动装置的结构示意图;
图5是本申请实施例中提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请的描述中,术语“例如”一词用来表示“用作例子、例证或说明”。本申请中被描述为“例如”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
本申请实施例提供一种应用程序启动方法、装置、计算机设备及存储介质,以下分别进行详细说明。
参阅图1,图1为本申请提供的应用程序启动方法的场景示意图,该应用程序启动方法可应用于应用程序启动系统中。其中,应用程序启动系统包括终端102和服务器104。终端102可以是既包括接收和发射硬件的设备,即具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备。终端102具体可以是台式终端或移动终端,终端102具体还可以是手机、平板电脑、笔记本电脑中的一种。服务器104可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,其包括但不限于计算机、网络主机、单个网络服务器、边缘服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(Cloud Computing)的大量计算机或网络服务器构成。此外,终端102与服务器104之间通过网络建立通信连接,网络具体可以是广域网、局域网、城域网中的任意一种。
本领域技术人员可以理解,图1中示出的应用环境,仅仅是适用于本申请方案的一种应用场景,并不构成对本申请方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的计算机设备,例如图1中仅示出1个服务器104,可以理解的是,该应用程序启动系统还可以包括一个或多个其他服务器,具体此处不作限定。另外,如图1所示,该应用程序启动系统还可以包括存储器,用于存储数据,如存储静态资源数据。
需要说明的是,图1所示的应用程序启动系统的场景示意图仅仅是一个示例,本发明实施例描述的应用程序启动系统以及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着应用程序启动系统的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
参阅图2,本申请实施例提供了一种应用程序启动方法,本实施例主要以该方法应用于上述图1中的终端102来举例说明,该方法包括步骤S201至S203,具体如下:
S201,响应针对于目标应用程序的启动指令,加载与目标应用程序关联的各个业务资源包;其中,各业务资源包中对应包含有预先通过资源拆分配置的业务模块名称。
其中,应用程序(Application)是运行在终端102的用户模式,它可以和用户进行交互,一般具有可视的用户界面。而本申请实施例中的目标应用程序,可以是任意类型的应用程序,包括但不局限于是系统应用程序,桌面应用程序,驱动应用程序,网络应用程序,手机应用程序,物联网应用程序等。
其中,业务资源包可以是用于存储图片、音频、文本、nib文件(描述了应用程序的用户界面的视觉元素,包括窗口,视图,控件)等资源的数据包,而上述资源均是程序启动必需的资源。另外,业务资源包也可称为“Bundle文件”。
其中,本申请提出的应用程序启动方法可应用于React Native架构,ReactNative是跨平台移动应用开发框架,可用于移动应用开发。而该React Native架构可将目标应用程序内部的功能,根据其作用和业务性质划分为多个业务模块,如“base、home、archives、clue、agreement”等,而其中的“base”、“home”等均为上文所述的业务模块名称。
具体实现中,为减轻应用程序的安装包体积、降低用户的准入门槛,本申请实施例提出在安装或更新某应用程序之前,首先对该引用程序启动所必需的静态资源进行拆分解耦处理,并对静态资源的存储路径进行合理完善,一方面可提升资源加载效率,另一方面也可避免加载多余无用的静态资源,提升程序启动效率。
具体而言,上文所述的资源解耦步骤和资源存储路径优化步骤将在下文详细说明,本实施例将要说明的是在实现静态资源解耦和存储路径优化之后,终端102可在接收到用户提交的针对于目标应用程序的启动指令时,响应该启动指令,进而基于前序步骤已优化的路径获取体量最小化的静态资源,即可加载得到存储该静态资源的业务资源包,详细流程可参阅图3所示的程序加载流程。
在一个实施例中,在本步骤之前,应用程序启动方法还包括如下步骤:响应针对于目标应用程序的打包指令,判断本地缓存中是否存在与目标业务功能相关联的静态资源文件夹;其中,目标业务功能是为目标应用程序配置的业务功能;若存在,则指示服务器更新静态资源文件夹的源码文件,并在得到更新后的源码文件之后,运行更新后的源码文件,以对目标业务功能进行功能模块打包,得到与目标业务功能相关联的业务资源包;其中,源码文件中包含有用于加载或打包业务资源包的源码信息。
其中,静态资源文件夹是用来组织和管理磁盘文件的一种数据结构,相当于文件分类存储的“抽屉”;每一个文件夹对应一块磁盘空间,它提供了指向对应空间的地址,用于存储各类型业务资源包。而业务资源包是以计算机硬盘为载体存储在计算机上的信息集合。,即程序启动必需的静态资源,例如,图标、占位图片、启动图等静态资源。
具体实现中,结合上述实施例可知,终端102响应针对目标应用程序的启动指令之前,需对启动目标应用程序所必需的静态资源进行资源解耦及路径优化,本实施例将要说明的即是资源解耦方案,而资源解耦是在应用程序打包环节中实现的,因此下文将以程序打包环节为依托,解释资源解耦是如何实现的。
具体而言,本申请实施例提出直接修改应用程序的打包脚本,以便在运行程序打包脚本之后,可针对将要输出的业务资源包中的图片对象“assetDate”添加业务模块名称,使得静态资源可按需求被拆分为多个资源业务包,解决传统方案只能输出一个总的资源业务包的弊端。其中,图片对象“assetDate”可用于获取上述图标、占位图片或者启动图等静态资源。
进一步地,可参阅图3所示的程序打包流程,为了实现资源解耦输出多个资源业务包,终端102可在接收到用户所触发针对于目标应用程序的打包指令时,响应该打包指令,进行判断本地缓存中是否存在与目标业务功能相关联的静态资源文件夹,即“assets文件夹”,以便于每个资源业务包(即“bundle文件”)会被输出到同级目录下的“assets文件夹”中,让整个静态资源的处理结构变的清晰。其中,判断静态资源文件夹是否存在的步骤,可通过与服务器104之间的通信交互实现,具体将在下文详细说明。
更进一步地,若终端102分析确定本地缓存中存在有与目标业务功能相关联的静态资源文件夹,则可生成源码更新指令,并将源码更新指令发送至服务器,指示服务器针对当前已有的与静态资源文件夹关联的源码文件(源码文件中包含有用于加载或打包业务资源包的源码信息)进行替换更新,即替换掉该源码文件中有关于图片打包和读取的部分源码,也即是前文所述的修改脚本,用于取代原有源码的新源码可以是开发人员预先配置并存储在本地的。由此,服务器104运行更新后的源码文件之后,即可按照业务需求将不同功能模块对应的资源业务包打包输出至对应关联的静态资源文件夹下,而非所有资源业务包共同被记录在一个固定目录中,毫无清晰逻辑,不利于后续高效加载。
例如,可参阅图3所示的程序打包流程,服务器104运行更新后的源码文件之后,开始逐一打包各个功能模块,即可在本地生成一个包含业务模块字段“moduleName”的“.json记录文件”,并根据业务模块字段,将目标业务功能的业务模块名称写入至“.json记录文件”中,如目前循环打包的是“base”,则“.json记录文件”的内容为{moduleName:“base”},如果为“home”,则“.json记录文件”的内容为{moduleName:“home”},以对目标业务功能进行功能模块打包,得到与目标业务功能相关联的业务资源包。
在一个实施例中,响应针对于目标应用程序的打包指令,判断本地缓存中是否存在与目标业务功能相关联的静态资源文件夹,包括:响应针对于目标应用程序的打包指令,确定为目标应用程序配置的目标业务功能;获取与目标业务功能相关联的业务模块名称,以生成包含业务模块名称的路径修改指令;发送路径修改指令至服务器,以使服务器响应于路径修改指令,将业务模块名称插入至已有的静态资源输出路径中,得到修改后的静态资源输出路径之后,反馈路径构成信息;根据路径构成信息,判断本地缓存中是否存在与目标业务功能相关联的静态资源文件夹。
其中,目标业务功能可以是任何类型的业务功能,包括但不局限于音频/视频播放功能、通讯会话功能、远程定位功能等。业务模块名称包括但不局限于“base、home、archives、clue、agreement”等。
其中,路径构成信息可以是启用目标业务功能所需的静态资源文件夹在服务器中存储的位置。
具体实现中,终端102在判断本地缓存中是否存在与目标业务功能相关联的静态资源文件夹之前,可先确定为目标应用程序配置的目标业务功能,即终端102可维护一个程序功能映射表,该映射表记录有各个应用程序理应具备的业务功能,如此即可确定当前所处理的目标应用程序对应的业务功能,作为目标业务功能。然后,终端102可进一步获取与目标业务功能相关联的业务模块名称,以生成包含该一个或多个业务模块名称的路径修改指令。也即是说,不同业务功能的启用可能需一个或多个模块支撑,如业务功能“A”需要模块“base”、“home”以及“archives”,业务功能“B”需要模块“base”、“clue”以及“agreement”。因此终端102需针对不同业务功能,生成不同路径修改指令。
进一步地,终端102可将路径修改指令发送至服务器104,以使服务器104将业务模块名称插入至已有的静态资源输出路径中,得到修改后的静态资源输出路径之后,反馈路径构成信息至终端102,实现路径优化目的。由此,终端102可分析该路径构成信息,判断本地缓存中是否存在与目标业务功能相关联的静态资源文件夹。
例如,目前循环打包的是“base”,修改后的静态资源输出路径若为“/user/my/base/assest”,意味着本地缓存中存在与目标业务功能相关联的静态资源文件夹,但若为“/user/my/assest”,意味着本地缓存中不存在与目标业务功能相关联的静态资源文件夹。
在一个实施例中,应用程序启动方法还包括:若不存在,则创建与目标业务功能相关联的静态资源文件夹;将静态资源文件夹存储在本地。
例如,加载并执行预存的用于创建不同静态资源文件夹的计算机程序,以创建与目标业务功能相关联的静态资源文件夹。
S202,根据业务资源包中的业务模块名称,获取启动目标应用程序所需的目标静态资源,以利用目标静态资源,对当前页面进行页面渲染。
具体实现中,终端102加载到与目标应用程序关联的各个业务资源包之后,由于业务资源包“bundle文件”内部具有图片对象“assetDate”,且“assetDate”中有个“moduleName:xx”属性,其中的“xx”代表业务模块名称。因此,终端102可根据业务资源包中的业务模块名称,获取启动目标应用程序所需的目标静态资源,以利用目标静态资源,对当前页面进行页面渲染。
可以理解的是,本申请实施例除提出对静态资源进行拆分解耦,以及资源读取路径优化之外,还提出将静态资源存储于服务器104中,而非预先存储于本地,由此能够大大减小应用程序的安装包体积。
在一个实施例中,本步骤包括:根据业务资源包中的业务模块名称,生成对应的静态资源访问路径;基于静态资源访问路径进行资源访问,得到目标静态资源;利用目标静态资源,对当前页面进行页面渲染。
具体实现中,由于终端102在前序程序打包过程中优化了资源读取路径,即不同业务资源包是和其关联的静态资源文件夹在一个目录下面的,因此,终端102当前所获的业务资源包是最小体量的资源包,读取各业务资源包中的业务模块名称,即可利用该业务模块名称进行拼接寻址,去对应的文件夹中找到拆分后的静态资源,作为当前所需的目标静态资源。而目标静态资源可被用于对终端102的当前页面进行页面渲染。
S203,启动目标应用程序,并在当前页面中显示目标静态资源。
具体实现中,终端102获取到目标静态资源之后,即可利用目标静态资源对当前页面进行页面渲染,以在当前页面中显示目标静态资源。可以理解的是,目标静态资源在当前页面中的显示位置,主要取决于静态资源的资源属性,同时还取决于当前页面的页面布局,具体本申请实施例不做限定。
在一个实施例中,本步骤包括:启动目标应用程序,确定当前页面的页面标签;根据当前页面的页面标签,在当前页面中显示目标静态资源。
具体实现中,可预先将目标应用程序的各个页面添加标签,即得到各个页面标签(也称“标签页”),因每一标签页分别与不同的静态资源一一对应,因此可按照预先布局的标签页显示目标静态资源。
上述实施例中的应用程序启动方法,终端通过响应针对于目标应用程序的启动指令,加载与目标应用程序关联,且对应包含有预先通过资源拆分配置的业务模块名称的各个业务资源包,即可根据业务资源包中的业务模块名称,获取启动目标应用程序所需的目标静态资源,以利用目标静态资源,对当前页面进行页面渲染,进而启动目标应用程序,并在当前页面中显示目标静态资源。由此,本申请提出基于资源解耦实现程序安装包的体积缩减,不仅可有效提升应用程序的启动效率,还可满足用户关于应用程序的安装或更新需求。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
为了更好实施本申请实施例提供的应用程序启动方法,在本申请实施例所提出的应用程序启动方法的基础之上,本申请实施例中还提供了一种应用程序启动装置,如图4所示,该应用程序启动装置400包括:
指令响应模块410,用于响应针对于目标应用程序的启动指令,加载与目标应用程序关联的各个业务资源包;其中,各业务资源包中对应包含有预先通过资源拆分配置的业务模块名称;
资源获取模块420,用于根据业务资源包中的业务模块名称,获取启动目标应用程序所需的目标静态资源,以利用目标静态资源,对当前页面进行页面渲染;
程序启动模块430,用于启动目标应用程序,并在当前页面中显示目标静态资源。
在一个实施例中,应用程序启动装置400还包括资源打包模块,用于响应针对于目标应用程序的打包指令,判断本地缓存中是否存在与目标业务功能相关联的静态资源文件夹;其中,目标业务功能是为目标应用程序配置的业务功能;若存在,则指示服务器更新静态资源文件夹的源码文件,并在得到更新后的源码文件之后,运行更新后的源码文件,以对目标业务功能进行功能模块打包,得到与目标业务功能相关联的业务资源包;其中,源码文件中包含有用于加载或打包业务资源包的源码信息。
在一个实施例中,资源打包模块还用于响应针对于目标应用程序的打包指令,确定为目标应用程序配置的目标业务功能;获取与目标业务功能相关联的业务模块名称,以生成包含业务模块名称的路径修改指令;发送路径修改指令至服务器,以使服务器响应于路径修改指令,将业务模块名称插入至已有的静态资源输出路径中,得到修改后的静态资源输出路径之后,反馈路径构成信息;根据路径构成信息,判断本地缓存中是否存在与目标业务功能相关联的静态资源文件夹。
在一个实施例中,资源打包模块还用于若不存在,则创建与目标业务功能相关联的静态资源文件夹;将静态资源文件夹存储在本地。
在一个实施例中,资源获取模块420还用于根据业务资源包中的业务模块名称,生成对应的静态资源访问路径;基于静态资源访问路径进行资源访问,得到目标静态资源;利用目标静态资源,对当前页面进行页面渲染。
在一个实施例中,程序启动模块430还用于启动目标应用程序,确定当前页面的页面标签;根据当前页面的页面标签,在当前页面中显示目标静态资源。
上述实施例中,终端通过响应针对于目标应用程序的启动指令,加载与目标应用程序关联,且对应包含有预先通过资源拆分配置的业务模块名称的各个业务资源包,即可根据业务资源包中的业务模块名称,获取启动目标应用程序所需的目标静态资源,以利用目标静态资源,对当前页面进行页面渲染,进而启动目标应用程序,并在当前页面中显示目标静态资源。由此,本申请提出基于资源解耦实现程序安装包的体积缩减,不仅可有效提升应用程序的启动效率,还可满足用户关于应用程序的安装或更新需求。
需要说明的是,关于应用程序启动装置的具体限定可以参见上文中对于应用程序启动方法的限定,在此不再赘述。上述应用程序启动装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子设备中的处理器中,也可以以软件形式存储于电子设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在本申请一些实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种应用程序启动方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在本申请一些实施例中,提供了一种计算机设备,包括一个或多个处理器;存储器;以及一个或多个应用程序,其中的一个或多个应用程序被存储于存储器中,并配置为由处理器执行上述应用程序启动方法的步骤。此处应用程序启动方法的步骤可以是上述各实施例的应用程序启动方法中的步骤。
在本申请一些实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器进行加载,使得处理器执行上述应用程序启动方法的步骤。此处应用程序启动方法的步骤可以是上述各个实施例的应用程序启动方法中的步骤。
本邻域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上对本申请实施例提供的一种应用程序启动方法、装置、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种应用程序启动方法,其特征在于,包括:
响应针对于目标应用程序的启动指令,加载与所述目标应用程序关联的各个业务资源包;其中,各所述业务资源包中对应包含有预先通过资源拆分配置的业务模块名称;
根据所述业务资源包中的业务模块名称,获取启动所述目标应用程序所需的目标静态资源,以利用所述目标静态资源,对当前页面进行页面渲染;
启动所述目标应用程序,并在所述当前页面中显示所述目标静态资源。
2.如权利要求1所述的方法,其特征在于,在所述响应针对于目标应用程序的启动指令,加载与所述目标应用程序关联的各个业务资源包之前,还包括:
响应针对于所述目标应用程序的打包指令,判断本地缓存中是否存在与目标业务功能相关联的静态资源文件夹;其中,所述目标业务功能是为所述目标应用程序配置的业务功能;
若存在,则指示服务器更新所述静态资源文件夹的源码文件,并在得到更新后的源码文件之后,运行所述更新后的源码文件,以对所述目标业务功能进行功能模块打包,得到与所述目标业务功能相关联的所述业务资源包;
其中,所述源码文件中包含有用于加载或打包所述业务资源包的源码信息。
3.如权利要求2所述的方法,其特征在于,所述响应针对于所述目标应用程序的打包指令,判断本地缓存中是否存在与目标业务功能相关联的静态资源文件夹,包括:
响应针对于所述目标应用程序的打包指令,确定为所述目标应用程序配置的目标业务功能;
获取与所述目标业务功能相关联的业务模块名称,以生成包含所述业务模块名称的路径修改指令;
发送所述路径修改指令至所述服务器,以使所述服务器响应于所述路径修改指令,将所述业务模块名称插入至已有的静态资源输出路径中,得到修改后的静态资源输出路径之后,反馈路径构成信息;
根据所述路径构成信息,判断本地缓存中是否存在与目标业务功能相关联的静态资源文件夹。
4.如权利要求2所述的方法,其特征在于,所述方法还包括:
若不存在,则创建与目标业务功能相关联的静态资源文件夹;
将所述静态资源文件夹存储在本地。
5.如权利要求1所述的方法,其特征在于,所述根据所述业务资源包中的业务模块名称,获取启动所述目标应用程序所需的目标静态资源,以利用所述目标静态资源,对当前页面进行页面渲染,包括:
根据所述业务资源包中的业务模块名称,生成对应的静态资源访问路径;
基于所述静态资源访问路径进行资源访问,得到所述目标静态资源;
利用所述目标静态资源,对当前页面进行页面渲染。
6.如权利要求1所述的方法,其特征在于,所述启动所述目标应用程序,并在所述当前页面中显示所述目标静态资源,包括:
启动所述目标应用程序,确定所述当前页面的页面标签;
根据所述当前页面的页面标签,在所述当前页面中显示所述目标静态资源。
7.一种应用程序启动装置,其特征在于,包括:
指令响应模块,用于响应针对于目标应用程序的启动指令,加载与所述目标应用程序关联的各个业务资源包;其中,各所述业务资源包中对应包含有预先通过资源拆分配置的业务模块名称;
资源获取模块,用于根据所述业务资源包中的业务模块名称,获取启动所述目标应用程序所需的目标静态资源,以利用所述目标静态资源,对当前页面进行页面渲染;
程序启动模块,用于启动所述目标应用程序,并在所述当前页面中显示所述目标静态资源。
8.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器;以及一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现权利要求1至6中任一项所述的应用程序启动方法。
9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至6中任一项所述的应用程序启动方法的步骤。
10.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令存储在计算机可读存储介质中,所述计算机指令被处理器执行时实现权利要求1至6中任一项所述的应用程序启动方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211388313.XA CN118012518A (zh) | 2022-11-08 | 2022-11-08 | 应用程序启动方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211388313.XA CN118012518A (zh) | 2022-11-08 | 2022-11-08 | 应用程序启动方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118012518A true CN118012518A (zh) | 2024-05-10 |
Family
ID=90954867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211388313.XA Pending CN118012518A (zh) | 2022-11-08 | 2022-11-08 | 应用程序启动方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118012518A (zh) |
-
2022
- 2022-11-08 CN CN202211388313.XA patent/CN118012518A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210216700A1 (en) | Information Processing Method and System | |
US11706331B2 (en) | Information processing method and apparatus, storage medium, and electronic device | |
CN105740048B (zh) | 一种镜像管理方法、装置及系统 | |
US20190102201A1 (en) | Component invoking method and apparatus, and component data processing method and apparatus | |
US20140298318A1 (en) | Computer-executable application packaging method, computer-executable device and storage media performing the same | |
CN111580879A (zh) | 小程序的运行方法、装置、电子设备及计算机存储介质 | |
CN104704468A (zh) | Web应用程序的跨系统安装 | |
CN103324517A (zh) | 离线应用的生成及调用方法、终端及系统 | |
CN111400246B (zh) | 异步导入文件方法、装置、计算机设备和存储介质 | |
CN105027116A (zh) | 电子阅读器内平面书籍到富书籍的转换 | |
US9747303B1 (en) | File location application programming interface | |
CN106533926A (zh) | 一种网页信息传播方法以及装置 | |
CN105160018A (zh) | 一种复制/粘贴图片的方法、装置和系统 | |
US20130036197A1 (en) | Method and system for a mobile local server | |
CN107943921B (zh) | 页面分享信息生成方法、装置、计算机设备和存储介质 | |
CN111142972B (zh) | 用于扩展应用程序的功能的方法、装置、系统及介质 | |
US20140331117A1 (en) | Application-based dependency graph | |
CN110618811B (zh) | 信息呈现方法和装置 | |
CN118012518A (zh) | 应用程序启动方法、装置、计算机设备及存储介质 | |
CN115981650A (zh) | 一种网站搭建方法及装置、电子设备、存储介质 | |
CN113064987B (zh) | 数据处理方法、装置、电子设备、介质和程序产品 | |
CN114528510A (zh) | 网页数据处理的方法、装置、电子设备及介质 | |
CN113835790B (zh) | 基于Android的分页页面显示方法和装置 | |
CN115525305A (zh) | 数据处理、应用启动方法、装置、计算机设备和存储介质 | |
CN113608737A (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 |