应用页面的加载方法和装置、存储介质及电子设备与流程

文档序号:32437371发布日期:2022-12-06 19:46阅读:36来源:国知局
应用页面的加载方法和装置、存储介质及电子设备与流程

1.本发明涉及计算机领域,具体而言,涉及一种应用页面的加载方法和装置、存储介质及电子设备。


背景技术:

2.随着越来越多的智能终端使用的普及,人们每天都需要通过智能终端上的应用程序的功能来满足业务需求。
3.对于频繁需要迭代开发的应用程序而言,通常的做法是通过打开web链接来进行页面的显示。但是,用户进行应用页面的加载的过程中,均需要重新通过网络下载页面资源文件,会进一步增加页面加载的时间,web加载页面的时长还会视网络环境情况而定,且即使在网络环境非常好的情况下,也需要接近1秒的时间来打开,如果是遇到其他网络环境不好的情况下,耗用的时间会更长。进而,目前的相关技术中,会存在应用程序的显示页面加载时间过长的技术问题。
4.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本发明实施例提供了一种应用页面的加载方法和装置、存储介质及电子设备,以至少解决相关技术中存在的应用程序的显示页面加载时间过长的技术问题。
6.根据本发明实施例的一个方面,提供了一种应用页面的加载方法,包括:在目标终端上获取目标应用的安装包,其中,所述安装包中构建了目标资源文件,所述目标资源文件为首次运行所述目标应用时需要通过网络下载的页面资源文件;通过在所述目标终端上运行所述安装包,在所述目标终端上安装所述目标应用,其中,在所述目标终端上存储有所述目标资源文件;响应于在所述目标终端上获取到的应用运行指令,在所述目标终端上首次运行所述目标应用,并在所述目标应用中加载所述目标终端上存储的所述目标资源文件,以在所述目标应用中显示目标应用页面,其中,所述目标资源文件包括在显示所述目标应用页面时所需加载的页面资源;在检测到所述目标终端请求连接目标无线网络、且所述目标应用运行在所述目标终端的后台时,将所述目标应用的状态设置为允许向网络侧设备发送资源文件更新请求,其中,所述资源文件更新请求用于请求获取更新的资源文件;在所述目标终端成功连接所述目标无线网络、且所述目标应用运行在所述目标终端的后台时,在所述目标应用上向所述网络侧设备发送所述资源文件更新请求,并获取所述网络侧设备发送的所述更新的资源文件。
7.根据本发明实施例的另一方面,还提供了一种应用页面的加载装置,包括:获取模块,用于在目标终端上获取目标应用的安装包,其中,所述安装包中构建了目标资源文件,所述目标资源文件为首次运行所述目标应用时需要通过网络下载的页面资源文件;安装模块,用于通过在所述目标终端上运行所述安装包,在所述目标终端上安装所述目标应用,其中,在所述目标终端上存储有所述目标资源文件;加载模块,用于响应于在所述目标终端上
获取到的应用运行指令,在所述目标终端上首次运行所述目标应用,并在所述目标应用中加载所述目标终端上存储的所述目标资源文件,以在所述目标应用中显示目标应用页面,其中,所述目标资源文件包括在显示所述目标应用页面时所需加载的页面资源;设置模块,用于在检测到所述目标终端请求连接目标无线网络、且所述目标应用运行在所述目标终端的后台时,将所述目标应用的状态设置为允许向网络侧设备发送资源文件更新请求,其中,所述资源文件更新请求用于请求获取更新的资源文件;发送模块,用于在所述目标终端成功连接所述目标无线网络、且所述目标应用运行在所述目标终端的后台时,在所述目标应用上向所述网络侧设备发送所述资源文件更新请求,并获取所述网络侧设备发送的所述更新的资源文件。
8.可选地,所述装置用于通过如下方式检测所述目标终端是否请求连接目标无线网络:检测所述目标终端是否从当前连接的移动网络切换到目标无线局域网络;或者检测所述目标终端是否从当前连接的无线局域网络切换到目标无线局域网络;或者在所述目标终端处于关闭移动网络连接和关闭无线局域网络连接的状态下,检测所述目标终端是否启用无线局域网络连接。
9.可选地,所述装置还用于:获取网络侧设备中待拉取的资源文件的哈希值;在所述待拉取的资源文件的哈希值与所述目标应用上次拉取到的资源文件的哈希值不同时,从所述网络侧设备中获取所述待拉取的资源文件;在所述待拉取的资源文件的哈希值与所述目标应用上次拉取到的资源文件的哈希值相同时,停止从所述网络侧设备中获取所述待拉取的资源文件。
10.可选地,所述装置还用于:从所述网络侧设备中获取所述目标应用的目标资源包,其中,所述目标资源包是对所述目标应用的一组资源文件进行打包所形成的资源包,所述一组资源文件包括对目标图片进行压缩得到的压缩图片;在所述目标应用中对所述目标资源包进行加载的过程中,对所述压缩图片进行解压,得到所述目标图片,并加载所述目标图片。
11.可选地,所述装置还用于:从所述网络侧设备中获取所述目标应用的加密资源包,其中,所述加密资源包是对所述目标应用的目标资源包进行加密得到的资源包,所述目标资源包是对所述目标应用的一组资源文件进行打包所形成的资源包;在所述目标应用中对所述加密资源包进行解密,得到所述目标资源包;在所述目标应用中加载所述目标资源包中的所述一组资源文件。
12.可选地,所述装置还用于:确定所述目标应用启动时必须加载的资源文件和非必须加载的资源文件;根据所述必须加载的资源文件,构建所述目标应用的安装包,其中,所述非必须加载的资源文件位于所述安装包的外部。
13.可选地,所述装置还用于:在所述安装包中构建了所述目标应用启动时必须加载的资源文件和非必须加载的资源文件时,在所述目标终端启动所述目标应用时,在所述目标应用中加载所述必须加载的资源文件;在所述目标应用中获取到目标交互指令时,在所述目标应用中加载所述非必须加载的资源文件,其中,所述目标交互指令用于请求所述非必须加载的资源文件。
14.可选地,所述装置还用于:确定所述目标资源文件的更新频率;在所述更新频率小于预设的更新频率阈值时,将所述目标资源文件构建到所述安装包中。
15.根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述应用页面的加载方法。
16.根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的应用页面的加载方法。
17.在本发明实施例中,采用在终端上获取应用程序的安装包,并且,该安装包中构建了首次运行应用程序时需要通过网络下载的页面资源文件,再通过安装该应用程序,以实现在应用程序所在终端上存储上述页面资源文件,在检测到目标终端请求连接目标无线网络、且目标应用运行在目标终端的后台时,将目标应用的状态设置为允许向网络侧设备发送资源文件更新请求,在目标终端成功连接目标无线网络、且目标应用运行在目标终端的后台时,在目标应用上向网络侧设备发送资源文件更新请求,并获取网络侧设备发送的更新的资源文件,进而,在终端上首次运行应用程序时,能够同时加载上述页面资源文件,也即,通过预先将待加载的页面资源文件配置在安装包中,并在安装应用程序时,将待加载的页面资源文件同步存储,以加快页面资源的加载速度,从而实现了减少应用程序的显示加载时间的技术效果,进而解决了相关技术中存在的应用程序的显示页面加载时间过长的技术问题。
附图说明
18.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
19.图1是根据本发明实施例的一种可选的应用页面的加载方法的应用环境的示意图;
20.图2是根据本发明实施例的一种可选的应用页面的加载方法的流程示意图;
21.图3是根据本发明实施例的一种可选的应用页面的加载方法的示意图;
22.图4是根据本发明实施例的又一种可选的应用页面的加载方法的示意图;
23.图5是根据本发明实施例的又一种可选的应用页面的加载方法的示意图;
24.图6是根据本发明实施例的又一种可选的应用页面的加载方法的示意图;
25.图7是根据本发明实施例的又一种可选的应用页面的加载方法的示意图;
26.图8是根据本发明实施例的又一种可选的应用页面的加载方法的示意图;
27.图9是根据本发明实施例的又一种可选的应用页面的加载方法的示意图;
28.图10是根据本发明实施例的又一种可选的应用页面的加载方法的示意图;
29.图11是根据本发明实施例的又一种可选的应用页面的加载方法的示意图;
30.图12是根据本发明实施例的又一种可选的应用页面的加载方法的示意图;
31.图13是根据本发明实施例的又一种可选的应用页面的加载方法的示意图;
32.图14是根据本发明实施例的一种可选的应用页面的加载装置的结构示意图;
33.图15是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
34.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
35.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
36.首先,在对本技术实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
37.动态布局:指的是动态根据页面详情的内容实现动态修改ui的展示布局,而无需去发布新的终端版本。可以实现由js转换为native的无缝体验切换。所有页面的展示由程序自动完成,无须频繁发布版本。
38.native页面:指的是基于系统提供的接口和框架来实现界面ui。相对于由h5实现的操作页面来说,其性能更好,速度更快,体验更优。
39.bundle文件:指的是通过脚本文件打包将部分资源文件(类似脚本、.css、.js文件)打包生成的文件,主要便于集成或下载到终端中。
40.加载耗时:指的是从点击资讯item开始到资讯详情页展示成功为止所耗费的时间。通常包含资讯bundle文件的解压、解密、加载这些过程。
41.页面资源,在部分应用场景中,与页面文件、页面资源文件所指代的含义相同。
42.下面结合实施例对本发明进行说明:
43.根据本发明实施例的一个方面,提供了一种应用页面的加载方法,可选地,在本实施例中,上述应用页面的加载方法可以应用于如图1所示的由服务器101和用户终端103所构成的硬件环境中。如图1所示,服务器101通过网络与终端103进行连接,可用于为用户终端或用户终端上安装的客户端提供服务,客户端可以是视频客户端、即时通信客户端、浏览器客户端、教育客户端、游戏客户端等。可在服务器上或独立于服务器设置数据库105,用于为服务器101提供数据存储服务,例如,图片数据存储服务器,上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、wifi及其他实现无线通信的网络,用户终端103可以是配置有目标应用107的终端,可以包括但不限于以下至少之一:手机(如android手机、ios手机等)、笔记本电脑、平板电脑、掌上电脑、mid(mobile internet devices,移动互联网设备)、pad、台式电脑、智能电视、可穿戴设备等计算机设备,上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器,使用上述应用页面的加载方法的目标应用107通过用户终端103进行显示。
44.结合图1所示,上述应用页面的加载方法可以在用户终端103通过如下步骤实现:
45.s1,在用户终端103中获取目标应用的安装包,其中,安装包中构建了目标资源文件,目标资源文件为首次运行目标应用时需要通过网络下载的页面资源文件;
46.s2,通过在用户终端103上运行安装包,在用户终端103上安装目标应用,其中,在用户终端103上存储有目标资源文件;
47.s3,响应于在用户终端103上获取到的应用运行指令,在用户终端103上首次运行目标应用,并在目标应用中加载用户终端103上存储的目标资源文件,以在目标应用中显示目标应用页面,其中,目标资源文件包括在显示目标应用页面时所需加载的页面资源;
48.s4,在检测到用户终端103请求连接目标无线网络、且目标应用运行在用户终端103的后台时,将目标应用的状态设置为允许向网络侧设备发送资源文件更新请求,其中,资源文件更新请求用于请求获取更新的资源文件;
49.s5,在用户终端103成功连接目标无线网络、且目标应用运行在用户终端103的后台时,在目标应用上向网络侧设备发送资源文件更新请求,并获取网络侧设备发送的更新的资源文件。
50.可选地,在本实施例中,上述应用页面的加载方法还可以通过包括但不限于配置于服务器的客户端使用。
51.可选地,在本实施例中,上述应用页面的加载方法可以包括但不限于由用户终端103和服务器101来异步使用,例如,上述在安装包中构建目标资源文件可以包括但不限于在服务器101上所部署的客户端来实现。
52.上述仅是一种示例,本实施例不做具体的限定。
53.可选地,作为一种可选的实施方式,如图2所示,上述应用页面的加载方法包括:
54.s202,在目标终端上获取目标应用的安装包,其中,安装包中构建了目标资源文件,目标资源文件为首次运行目标应用时需要通过网络下载的页面资源文件;
55.s204,通过在目标终端上运行安装包,在目标终端上安装目标应用,其中,在目标终端上存储有目标资源文件;
56.s206,响应于在目标终端上获取到的应用运行指令,在目标终端上首次运行目标应用,并在目标应用中加载目标终端上存储的目标资源文件,以在目标应用中显示目标应用页面,其中,目标资源文件包括在显示目标应用页面时所需加载的页面资源;
57.s208,在检测到目标终端请求连接目标无线网络、且目标应用运行在目标终端的后台时,将目标应用的状态设置为允许向网络侧设备发送资源文件更新请求,其中,资源文件更新请求用于请求获取更新的资源文件;
58.s210,在目标终端成功连接目标无线网络、且目标应用运行在目标终端的后台时,在目标应用上向网络侧设备发送资源文件更新请求,并获取网络侧设备发送的更新的资源文件。
59.可选地,在本实施例中,上述目标终端可以包括但不限于手机(如android手机、ios手机等)、笔记本电脑、平板电脑、掌上电脑、mid(mobile internet devices,移动互联网设备)、pad、台式电脑、智能电视、可穿戴设备等计算机设备。
60.其中,图3是根据本发明实施例的一种可选的应用页面的加载方法的示意图,如图3所示:
61.首先,服务器执行预处理操作,包括但不限于步骤s1至s3,其中:
62.s1,服务器向网络侧设备发送压缩加密后的资源文件,例如,上述资源文件包括但不限于首次运行目标应用时需要通过网络下载的页面资源文件,上述资源文件可以包括但不限于存储于预设的cdn(content delivery network,内容分发网络)网络等网络侧设备中,通过将生成好的加密资源文件上传至cdn,并进行md5校验;
63.s2,服务器向配置服务器发送配置文件,例如,.plist文件(包含版本信息、支持的系统版本、资源文件的生效日期、支持的bundle list信息等);
64.然后,终端开始执行如下步骤:
65.s3,在终端上从服务器下载安装包(安装包中包括压缩加密后的资源文件),例如,上述安装包包括但不限于应用于塞班系统的sis或sisx安装包,java程序所使用的jad或者jar安装包,linux系统所使用的的mtf安装包、mpkg安装包或pkg安装包,android系统所使用的apk安装包,苹果系统所使用的安装器或软件包集成安装器(installer)等,在安装包的打包过程中,可以包括但不限于采用以下的策略或原则进行优化:
66.(1)一些较大的依赖项,可以通过按需加载的方式进行,避免加载不必须的资源。同时,可以减少资源文件的大小,减少加载耗时,比如,按照时间周期展示的无需频繁更新的资源包,包含一些暂时不是必须的语言包等;
67.(2)较大的静态图片,可以包括但不限于通过对原图文件进行压缩,减小资源包大小,由于现有技术一般针对静态图片采用原图方式加载,对于资源文件的加载来说并非必须。同时,文件资源过大会导致下载耗时和错误率增加,(例如,必须的、不常更新的图片,包括但不限于按钮,可以单独作为资源包,预先下发,不必须的图片,如果用户交互之后的图片,等到用户请求时再下发对应的资源包等);
68.(3)对于部分非icon类型且尺寸较大的图片,通过hippy中提供的webpack中自定义loader的形式,将其自动上传到cdn中。
69.需要说明的是,通过将一些不经常更新的资源在app构建时就合入app中,减少初始化时需要更新资源文件的过程。同时,对于项目中每个页面都会用到必备的依赖项,通过预埋的方式提前存储在终端,减少不必要的下载,预埋公共基础包,减少非必要的数据下载,如图7所示,其中,js-md5是md5等工具函数;vuex是vue数据存储中心;core-js用来提供平台对于js代码的兼容;
70.s4,在终端上打开安装包,安装并运行应用程序,展示内容,其中,该安装包中预埋了除基础包之外的其他需要进行更新的文件,例如,上述安装包可以包括但不限于bundle格式的文件,其是unix/linux系统中的一种可执行文件。用户可以在终端中使用./***(文件名).bundle命令使其运行。用户可以在终端中使用./***(文件名).bundle命令使其运行。必要时需要使用sudo执行以提供超级用户权限,并且需要提供管理员密码。用于android的activity之间传递数据的类。bundle文件可以使用四种已知的软件应用程序查看,这些应用程序通常是由apple开发的macos。它与二种主要文件类型相关联,但经常以mac os x application bundle格式出现。在大多数情况下,这些文件被视为plugin files,但它们也可以是compressed files。可以在mac、windows和android上查看bundle文件扩展名,其中,首次运行目标应用时需要通过网络下载的页面资源文件,可以包括但不限于文字、图标、图片、页面布局信息、字体文件等;
71.s5,在终端上当应用程序在后台运行,在检测到终端请求连接无线网络或终端已经成功连接了新的无线网络时,向网络侧设备发送资源文件更新请求,例如,可以通过监视目标应用运行过程中的堆栈信息,在确定上述目标应用运行在目标终端的后台时,将目标应用的状态设置为允许向网络侧设备发送资源文件更新请求,其中,上述网络侧设备可以包括但不限于cdn网络等能够进行内容分发或存储的网络侧设备,在目标终端成功连接目标无线网络时,在目标应用上向网络侧设备发送资源文件更新请求可以包括但不限于在检测到目标终端与上述目标无线网络相连接的情况下,请求网络侧设备下发更新后的资源文件,以实现资源文件的更新;
72.s6,网络侧设备根据更新请求向终端下发压缩加密后的资源文件,其中,网络侧设备判断版本号是否一致,在不一致的情况下,才会下发更新后的压缩加密后的资源文件,例如,终端从网络侧设备读取资源文件的版本号,终端判断资源文件的版本号是否与读取的资源文件版本号一致,若不一致,匹配资源文件的哈希值是否一致,在终端存储的资源文件和网络侧设备存储的资源文件的版本号与哈希值均不一致的情况下,终端从网络侧设备获取更新后的资源文件;
73.s7,在终端上从配置服务器获取配置信息,例如,经过加密、压缩后(由本地打包工具完成)得到的vueconfig配置文件,通过将生成好的配置文件上传至配置文件平台,类似普通的配置文件发布一样,可以设置配置文件发布的地区、数量等;
74.s8,在终端上根据配置信息对资源文件解压缩以及解密,例如,终端启动时会收到当前版本的配置文件信息,通过解析配置文件,可以获得bundle文件的下载地址、解压和解密密钥等信息,进而,能够通过下载地址可以直接下载待更新的bundle文件,并进行预加载;
75.s9,在终端上加载解密后的资源文件,例如,将目标应用配置为包括但不限于使用动态布局框架的应用程序,以应用于页面资源的展示过程中,其中,动态布局指的是动态根据页面详情的内容实现动态修改ui的展示布局,而无需去发布新的终端版本。可以实现由js转换为native的无缝体验切换,其中,所有页面的展示由程序自动完成,无须频繁发布版本。
76.上述仅是一种示例,本实施例不做任何具体的限定。
77.可选地,在本实施例中,上述应用页面的加载方法还可以包括但不限于结合云技术、云计算、云存储等内容实现,其中:
78.云计算(cloud computing)是一种计算模式,指it基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是it和软件、互联网相关,也可是其他服务。云计算是网格计算(grid computing)、分布式计算(distributedcomputing)、并行计算(parallel computing)、效用计算(utility computing)、网络存储(network storage technologies)、虚拟化(virtualization)、负载均衡(load balance)等传统计算机和网络技术发展融合的产物。
79.随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
80.云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
81.目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(id,id entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
82.存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(raid,redundant array of independent disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
83.私有云(private cloud)是将云基础设施与软硬件资源创建在防火墙内,以供机构或企业内各部门共享数据中心内的资源。创建私有云,除了硬件资源外,一般还有云设备(iaas,infrastructure as a service,基础设施即服务)软件。
84.私有云计算同样包含云硬件、云平台、云服务三个层次。不同的是,云硬件是用户自己的个人电脑或服务器,而非云计算厂商的数据中心。云计算厂商构建数据中心的目的是为千百万用户提供公共云服务,因此需要拥有几十上百万台服务器。私有云计算,对个人来说只服务于亲朋好友,对企业来说只服务于本企业员工以及本企业的客户和供应商,因此个人或企业自己的个人电脑或服务器已经足够用来提供云服务。
85.公有云(public cloud)通常指第三方提供商为用户提供的能够使用的云,公有云一般可通过internet使用,可能是免费或成本低廉的,公有云的核心属性是共享资源服务。这种云有许多实例,可在当今整个开放的公有网络中提供服务。
86.混合云(hybrid cloud)融合了公有云(public cloud)和私有云(private cloud),是近年来云计算的主要模式和发展方向。私有云主要是面向企业用户,出于安全考虑,企业更愿意将数据存放在私有云中,但是同时又希望可以获得公有云的计算资源,在这种情况下混合云被越来越多的采用,它将公有云和私有云进行混合和匹配,以获得最佳的效果,这种个性化的解决方案,达到了既省钱又安全的目的。
87.可选地,在本实施例中,上述安装包包括但不限于应用于塞班系统的sis或sisx安装包,java程序所使用的jad或者jar安装包,linux系统所使用的的mtf安装包、mpkg安装包或pkg安装包,android系统所使用的apk安装包,苹果系统所使用的安装器或软件包集成安装器(installer)等,上述仅是一种示例,本实施例不做任何具体的限定。
88.可选地,在本实施例中,上述目标资源文件包括但不限于首次运行目标应用时需要通过网络下载的页面资源文件,上述目标资源文件可以包括但不限于存储于服务器的数据库中,还可以存储于预设的cdn(content delivery network,内容分发网络)网络等网络
侧设备中,例如,bundle格式的文件是unix/linux系统中的一种可执行文件。用户可以在终端中使用./***(文件名).bundle命令使其运行。用户可以在终端中使用./***(文件名).bundle命令使其运行。必要时需要使用sudo执行以提供超级用户权限,并且需要提供管理员密码。用于android的activity之间传递数据的类。bundle文件可以使用四种已知的软件应用程序查看,这些应用程序通常是由apple开发的macos。它与二种主要文件类型相关联,但经常以mac os x application bundle格式出现。在大多数情况下,这些文件被视为plugin files,但它们也可以是compressed files。可以在mac、windows和android上查看bundle文件扩展名。
89.例如,图4是根据本发明实施例的另一种可选的应用页面的加载方法的示意图,如图4所示,上述在目标终端上获取目标应用的安装包可以包括但不限于通过如下步骤实现:
90.s1,通过输入源402(例如,运营人员所使用的客户端)获取页面资源,并在服务器后台的客户端生成页面资源文件,例如,上述资源文件包括但不限于首次运行目标应用时需要通过网络下载的页面资源文件;
91.s2,在服务器404后台的客户端加密、压缩页面资源文件,例如,上述页面资源文件可以包括但不限于bundle格式的文件,其是unix/linux系统中的一种可执行文件。用户可以在终端中使用./***(文件名).bundle命令使其运行。用户可以在终端中使用./***(文件名).bundle命令使其运行。必要时需要使用sudo执行以提供超级用户权限,并且需要提供管理员密码。用于android的activity之间传递数据的类。bundle文件可以使用四种已知的软件应用程序查看,这些应用程序通常是由apple开发的macos。它与二种主要文件类型相关联,但经常以mac os x application bundle格式出现。在大多数情况下,这些文件被视为plugin files,但它们也可以是compressed files。可以在mac、windows和android上查看bundle文件扩展名,其中,首次运行目标应用时需要通过网络下载的页面资源文件,可以包括但不限于文字、图标、图片、页面布局信息、字体文件等;
92.s3,服务器404向网络侧设备406发送页面资源文件,例如,上述资源文件包括但不限于首次运行目标应用时需要通过网络下载的页面资源文件,上述资源文件可以包括但不限于存储于预设的cdn(content delivery network,内容分发网络)网络等网络侧设备中,通过将生成好的加密资源文件上传至cdn,并进行md5校验;
93.s4,终端408接收由网络侧设备406发送的页面资源文件,并进行解密和解压缩,例如,终端启动时会收到当前版本的配置文件信息,通过解析配置文件,可以获得bundle文件的下载地址、解压和解密密钥等信息,进而,能够通过下载地址可以直接下载待更新的bundle文件,并进行预加载;
94.s5,终端408的显示界面显示上述页面资源文件,例如,将目标应用配置为包括但不限于使用动态布局框架的应用程序,以应用于页面资源的展示过程中,其中,动态布局指的是动态根据页面详情的内容实现动态修改ui的展示布局,而无需去发布新的终端版本。可以实现由js转换为native的无缝体验切换,其中,所有页面的展示由程序自动完成,无须频繁发布版本。
95.需要说明的是,上述仅是一种可选的方案,图5是根据本发明实施例的又一种可选的应用页面的加载方法的示意图,如图5所示,上述在目标终端上获取目标应用的安装包还可以包括但不限于通过如下步骤实现:
96.s1,通过输入源502(例如,运营人员所使用的客户端)获取页面资源,并在服务器后台的客户端生成页面资源文件,例如,上述资源文件包括但不限于首次运行目标应用时需要通过网络下载的页面资源文件;
97.s2,在服务器504后台的客户端加密、压缩页面资源文件以及配置文件,例如,上述页面资源文件可以包括但不限于bundle格式的文件,其是unix/linux系统中的一种可执行文件。用户可以在终端中使用./***(文件名).bundle命令使其运行。用户可以在终端中使用./***(文件名).bundle命令使其运行。必要时需要使用sudo执行以提供超级用户权限,并且需要提供管理员密码。用于android的activity之间传递数据的类。bundle文件可以使用四种已知的软件应用程序查看,这些应用程序通常是由apple开发的macos。它与二种主要文件类型相关联,但经常以mac os xapplication bundle格式出现。在大多数情况下,这些文件被视为plugin files,但它们也可以是compressed files。可以在mac、windows和android上查看bundle文件扩展名,其中,首次运行目标应用时需要通过网络下载的页面资源文件,可以包括但不限于文字、图标、图片、页面布局信息、字体文件等;
98.s3-1,服务器504向配置文件服务器506发送配置文件,例如,.plist文件(包含版本信息、支持的系统版本、资源文件的生效日期、支持的bundle list信息等);
99.s3-2,服务器504向网络侧设备508发送页面资源文件,上述资源文件可以包括但不限于存储于预设的cdn(content delivery network,内容分发网络)网络等网络侧设备中,通过将生成好的加密资源文件上传至cdn,并进行md5校验;
100.s4-1,终端510接收由网络侧设备508发送的页面资源文件,并进行解密和解压缩,需要说明的是,通过将一些不经常更新的资源在app构建时就合入app中,减少初始化时需要更新资源文件的过程。同时,对于项目中每个页面都会用到必备的依赖项,通过预埋的方式提前存储在终端,减少不必要的下载,预埋公共基础包,减少非必要的数据下载,如图7所示,其中,js-md5是md5等工具函数;vuex是vue数据存储中心;core-js用来提供平台对于js代码的兼容;
101.s4-2,终端510接收由配置文件服务器506发送的配置文件,例如,经过加密、压缩后(由本地打包工具完成)得到的vueconfig配置文件,通过将生成好的配置文件上传至配置文件平台,类似普通的配置文件发布一样,可以设置配置文件发布的地区、数量等;
102.s5,终端510根据上述配置文件在对应的显示界面显示页面资源文件,例如,将目标应用配置为包括但不限于使用动态布局框架的应用程序,以应用于页面资源的展示过程中,其中,动态布局指的是动态根据页面详情的内容实现动态修改ui的展示布局,而无需去发布新的终端版本。可以实现由js转换为native的无缝体验切换,其中,所有页面的展示由程序自动完成,无须频繁发布版本。
103.需要说明的是,上述步骤s1至s2可以包括但不限于通过如下方式生成页面资源文件以及配置文件:web前端将要发布的文件如js+css文件,经过vue.js的脚本本地打包生成js bundle文件,并配置好相应的.plist文件(包含版本信息、支持的系统版本、资源文件的生效日期、支持的bundle list信息等),经过加密、压缩后(由本地打包工具完成)会生成加密的后的资源文件及vueconfig配置文件。
104.上述步骤s3-1以及步骤s3-2可以包括但不限于通过如下方式配置发布平台及上传资源文件:将生成好的加密资源文件上传至cdn,并进行md5校验。将生成好的配置文件上
传至配置文件平台,类似普通的配置文件发布一样,可以设置配置文件发布的地区、数量等。
105.上述步骤s4-1以及步骤s4-2可以包括但不限于通过如下方式拉取配置文件及下载资源文件:终端启动时会收到当前版本的配置文件信息,通过解析配置文件,可以获得bundle文件的下载地址、解压和解密密钥等信息,进而,能够通过下载地址可以直接下载待更新的bundle文件,并进行预加载。
106.可选地,在本实施例中,上述目标资源文件为首次运行目标应用时需要通过网络下载的页面资源文件,可以包括但不限于文字、图标、图片、页面布局信息、字体文件等。
107.例如,图6是根据本发明实施例的又一种可选的应用页面的加载方法的示意图,如图6所示,终端602的显示界面中包括但不限于文字604包括的待显示的文字页面资源,图标606包括的待显示的图标页面资源,图片608包括的待显示的图片页面资源,不同字体的文字606包括的待显示的不同字体的页面资源,页面布局612包括的该终端602的页面布局配置信息,例如,文字“图片”被配置为在显示界面左侧显示,图片608被配置为在显示界面中间区域显示等。
108.可选地,在本实施例中,上述通过在目标终端上运行安装包,在目标终端上安装目标应用可以包括但不限于将目标应用配置为包括但不限于使用动态布局框架的应用程序,以应用于页面资源的展示过程中,其中,动态布局指的是动态根据页面详情的内容实现动态修改ui的展示布局,而无需去发布新的终端版本。可以实现由js转换为native的无缝体验切换,其中,所有页面的展示由程序自动完成,无须频繁发布版本。
109.可选地,在本实施例中,上述在安装包中构建目标资源文件可以包括但不限于如下方式实现:
110.图7是根据本发明实施例的又一种可选的应用页面的加载方法的示意图,通过如图7所示构建hippy动态布局移动跨端开发框架以实现在安装包中构建目标资源文件。
111.其中:vendor.js:包括但不限于公共依赖的部分(包含hippy/vue、vue-router、vue-native-components等内容);
112.index.js:包括但不限于业务逻辑部分;
113.assets:包括但不限于静态资源(例如,文字、图片),加载时设定好路径即可;
114.可选地,在本实施例中,上述应用页面的加载方法可以包括但不限于应用于多种应用场景,上述目标应用可以包括但不限于医疗应用程序、金融应用程序、征信应用程序、银行应用程序、政务应用程序、政府应用程序、游戏应用程序、能源应用程序、教育应用程序、安防应用程序、楼宇应用程序、交通应用程序、物联应用程序等。
115.例如,图8是根据本发明实施例的又一种可选的应用页面的加载方法的示意图,如图8所示,以应用于图片处理场景为例:
116.s1,图8中所示的页面1即为上述目标终端的显示界面,在获取到针对“应用d”的交互操作(对应于前述的应用运行指令)后,首次打开应用d,进入页面2;
117.s2,在页面2中,由于在目标终端上安装了目标应用,因此,目标终端上存储有目标资源文件,应用d的页面布局信息以及对应的显示图片、文字均显示在页面2中,通过对“照片”交互对象执行交互操作,以进入选择“照片”的页面3;
118.s3,在页面3中显示有“全部图片”,其中,页面2、页面3中显示的图片即为在目标应
用中加载的目标终端上存储的上述目标资源文件。
119.还例如,图9是根据本发明实施例的又一种可选的应用页面的加载方法的示意图,如图9所示,以应用于游戏应用场景为例:
120.s1,图9中所示的页面1即为上述目标终端的显示界面,在获取到针对“游戏应用d”的交互操作(对应于前述的应用运行指令)后,首次打开游戏应用d,进入页面2;
121.s2,在页面2中,由于在目标终端上安装了目标应用,因此,目标终端上存储有目标资源文件,游戏d的页面布局信息以及对应的显示图片、文字均显示在页面2中,通过对“进入游戏”交互对象执行交互操作,以进入载入游戏界面的页面3;
122.s3,在页面3中显示有“载入中”,其中,页面2、页面3中显示的资源即为在目标应用中加载的目标终端上存储的上述目标资源文件。
123.上述仅是一种示例,本实施例不做任何具体的限定。
124.可选地,在本实施例中,上述检测目标终端是否请求连接目标无线网络,可以包括但不限于检测目标终端所连接的网络类型,例如,检测目标终端是否通过蜂窝数据连接至移动运营商的网络,还例如,检测目标终端是否处于标识为无线网络的无线局域网中。
125.可选地,在本实施例中,上述在检测到目标终端请求连接目标无线网络、且目标应用运行在目标终端的后台时,将目标应用的状态设置为允许向网络侧设备发送资源文件更新请求可以包括但不限于监视目标应用运行过程中的堆栈信息,在确定上述目标应用运行在目标终端的后台时,将目标应用的状态设置为允许向网络侧设备发送资源文件更新请求。
126.其中,上述网络侧设备可以包括但不限于cdn网络等能够进行内容分发或存储的网络侧设备。
127.可选地,在本实施例中,在目标终端成功连接目标无线网络时,在目标应用上向网络侧设备发送资源文件更新请求可以包括但不限于在检测到目标终端与上述目标无线网络相连接的情况下,请求网络侧设备下发更新后的资源文件,以实现资源文件的更新。
128.例如,图10是根据本发明实施例的又一种可选的应用页面的加载方法的示意图,如图10所示,以应用于图片处理应用和游戏应用场景为例:
129.s1,图10中所示的页面1即为上述目标终端的显示界面,在获取到针对“游戏d”的交互操作(对应于前述的应用运行指令)后,打开“游戏d”,由于之前已经打开了“应用d”,因而,“应用d”转为在目标终端的后台运行,并进入游戏d对应的页面2;
130.s2,在页面2中,获取针对“跳转应用列表”的交互操作,以在页面3中显示应用程序列表,包括:应用a、应用b、应用c、应用d以及应用e,此时,由于应用d已经在目标终端后台运行,且目标终端已经连接目标无线网络,因此,目标应用的状态被设置为允许向网络侧设备发送资源文件更新请求,且在页面2显示过程中,已经完成了资源文件的更新;
131.s3,响应于针对“应用d”的交互操作,将“应用d”由目标终端的后台切换至前台,显示为页面4;
132.s4,页面4为根据更新后的资源文件生成的显示页面,获取针对“照片”的交互操作,以实现向页面5的跳转,并进一步显示根据更新后的资源文件生成的页面5。
133.上述仅是一种示例,本实施例不做任何具体的限定。
134.通过本实施例,采用在终端上获取应用程序的安装包,并且,该安装包中构建了首
次运行应用程序时需要通过网络下载的页面资源文件,再通过安装该应用程序,以实现在应用程序所在终端上存储上述页面资源文件,进而,在终端上首次运行应用程序时,能够同时加载上述页面资源文件,也即,通过预先将待加载的页面资源文件配置在安装包中,并在安装应用程序时,将待加载的页面资源文件同步存储,以加快页面资源的加载速度,从而实现了减少应用程序的显示加载时间的技术效果,进而解决了相关技术中存在的应用程序的显示页面加载时间过长的技术问题。
135.作为一种可选的方案,上述方法还包括:在检测到目标终端请求连接目标无线网络、且目标应用运行在目标终端的前台时,检测目标终端是否成功连接目标无线网络;在目标终端成功连接目标无线网络时,在目标应用上向网络侧设备发送资源文件更新请求,并获取所述网络侧设备发送的所述更新的资源文件。
136.可选地,在本实施例中,可以包括但不限于如图8或图9所示,在页面2中,可以包括但不限于检测到目标终端请求连接目标无线网络、且目标应用运行在目标终端的前台时,检测目标终端是否成功连接目标无线网络,在目标终端成功连接目标无线网络时,目标终端向网络侧设备发送资源文件更新请求,以更新资源文件,并在页面3显示更新后的资源文件。
137.需要说明的是,上述目标应用运行在目标终端的前台时,可以包括但不限于获取当前显示页面的交互对象所对应的资源文件,并在显示页面2的过程中,检测目标终端是否成功连接目标无线网络,在目标终端成功连接目标无线网络时,目标终端向网络侧设备发送资源文件更新请求。
138.通过本实施例,采用在检测到目标终端请求连接目标无线网络、且目标应用运行在目标终端的前台时,检测目标终端是否成功连接目标无线网络;在目标终端成功连接目标无线网络时,在目标应用上向网络侧设备发送资源文件更新请求的方式,在终端连接了目标无线网络,且应用程序运行于终端后台时,依旧能够更新上述资源文件,以提高页面资源的加载速度,从而实现了减少应用程序的显示加载时间的技术效果,进而解决了相关技术中存在的应用程序的显示页面加载时间过长的技术问题。
139.作为一种可选的方案,检测目标终端是否请求连接目标无线网络,包括:
140.检测目标终端是否从当前连接的移动网络切换到目标无线局域网络;或者
141.检测目标终端是否从当前连接的无线局域网络切换到目标无线局域网络;或者
142.在目标终端处于关闭移动网络连接和关闭无线局域网络连接的状态下,检测目标终端是否启用无线局域网络连接。
143.可选地,在本实施例中,上述当前连接的移动网络可以包括但不限于使用蜂窝数据进行数据传输的移动网络,上述当前连接的无线局域网络可以包括但不限于目标终端已经保持连接的无线局域网络,上述目标终端处于关闭移动网络连接和关闭无线局域网络连接的状态可以包括但不限于检测到上述目标终端未能实现网络连接,且移动网络连接和无线局域网络连接的状态皆不可用。
144.例如,图11是根据本发明实施例的又一种可选的应用页面的加载方法的示意图,如图11所示,在检测到目标终端是否从当前连接的移动网络切换到目标无线局域网络;或者,在检测到目标终端是否从当前连接的无线局域网络切换到目标无线局域网络;或者,在检测到目标终端处于关闭移动网络连接和关闭无线局域网络连接的状态下,检测目标终端
是否启用无线局域网络连接,在检测到目标终端启用无线局域网络连接之后,显示提示信息1102,以表示目标终端允许连接无线局域网络连接;在显示界面中显示有“wifi-1”作为上述目标无线局域网络,进而,通过对交互对象1104“立即连接”执行交互操作,以实现目标终端与目标无线网络“wifi-1”相连接。
145.通过本实施例,采用检测目标终端是否从当前连接的移动网络切换到目标无线局域网络;或者检测目标终端是否从当前连接的无线局域网络切换到目标无线局域网络;或者在目标终端处于关闭移动网络连接和关闭无线局域网络连接的状态下,检测目标终端是否启用无线局域网络连接的方式,通过检测目标终端是否连接到目标无线网络,以决定是否需要在目标终端更新目标应用的资源文件,进而在终端连接了目标无线网络时,能够更新上述资源文件,以提高页面资源的加载速度,从而实现了减少应用程序的显示加载时间的技术效果,进而解决了相关技术中存在的应用程序的显示页面加载时间过长的技术问题。
146.作为一种可选的方案,上述方法还包括:获取网络侧设备中待拉取的资源文件的哈希值;在待拉取的资源文件的哈希值与目标应用上次拉取到的资源文件的哈希值不同时,从网络侧设备中获取待拉取的资源文件;在待拉取的资源文件的哈希值与目标应用上次拉取到的资源文件的哈希值相同时,停止从网络侧设备中获取待拉取的资源文件。
147.可选地,在本实施例中,上述哈希值一般指哈希函数,一般的线性表,树中,记录在结构中的相对位置是随机的,即和记录的关键字之间不存在确定的关系,因此,在结构中查找记录时需进行一系列和关键字的比较。这一类查找方法建立在“比较“的基础上,查找的效率依赖于查找过程中所进行的比较次数。理想的情况是能直接找到需要的记录,因此必须在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使每个关键字和结构中一个唯一的存储位置相对应。哈希表中元素是由哈希函数确定的。将数据元素的关键字k作为自变量,通过一定的函数关系(称为哈希函数),计算出的值,即为该元素的存储地址。在本实施例中,在上述网络侧设备中存储的待拉取的资源文件均匹配有对应的哈希值,以用于区分待拉取的资源文件与已经拉取到的资源文件是否相同。
148.例如,图12是根据本发明实施例的又一种可选的应用页面的加载方法的示意图,如图12所示,首先,服务器1206向网络侧设备1208发送压缩加密后的资源文件,以及向配置服务器1204发送配置文件;
149.其次,可以包括但不限于通过如下方式执行上述应用页面的加载方法:
150.s1,终端1202从配置服务器1204获取配置数据,例如,经过加密、压缩后(由本地打包工具完成)得到的vueconfig配置文件,通过将生成好的配置文件上传至配置文件平台,类似普通的配置文件发布一样,可以设置配置文件发布的地区、数量等;
151.s2,终端1204从网络侧设备1208读取资源文件的版本号;
152.s3,终端1202或网络侧设备1208判断资源文件的版本号是否一致,若一致,则结束当前操作,若不一致,则执行步骤s4;
153.s4,终端1202或网络侧设备1208匹配资源文件的哈希值是否一致,若一致,则结束当前操作,若不一致,则执行步骤s5;
154.s5,在终端1202存储的资源文件和网络侧设备1208存储的资源文件的版本号与哈希值均不一致的情况下,终端1202从网络侧设备1208获取更新后的资源文件;
155.s6,在终端1202解压缩、解密上述更新后的资源文件;
156.s7,在终端1202加载资源文件,以显示对应的页面。
157.需要说明的是,针对部分应用场景,也可以包括但不限于仅匹配哈希值,而不判断版本号,以降低数据传输量。
158.上述仅是一种示例,本实施例不做任何具体的限定。
159.通过本实施例,采用获取网络侧设备中待拉取的资源文件的哈希值;在待拉取的资源文件的哈希值与目标应用上次拉取到的资源文件的哈希值不同时,从网络侧设备中获取待拉取的资源文件;在待拉取的资源文件的哈希值与目标应用上次拉取到的资源文件的哈希值相同时,停止从网络侧设备中获取待拉取的资源文件的方式,通过检测目标终端所存储的资源文件与网络侧设备所存储的资源文件的版本号与哈希值是否相同,在均不同的情况下,目标终端从网络侧设备更新资源文件,以提高页面资源的加载速度,从而实现了减少应用程序的显示加载时间的技术效果,进而解决了相关技术中存在的应用程序的显示页面加载时间过长的技术问题。
160.作为一种可选的方案,上述方法还包括:
161.从网络侧设备中获取目标应用的目标资源包,其中,目标资源包是对目标应用的一组资源文件进行打包所形成的资源包,一组资源文件包括对目标图片进行压缩得到的压缩图片;
162.在目标应用中对目标资源包进行加载的过程中,对压缩图片进行解压,得到目标图片,并加载目标图片。
163.可选地,在本实施例中,上述目标图片可以包括但不限于静态图片、动态图片等,以静态图片为例,现有技术一般是通过将原始尺寸的静态图片进行加载,进而,会导致增加资源文件的数据量,使得数据传输时间边长,而通过本技术,可以将静态图片(例如,按钮)等更新频率较低的图片进行压缩,以减小上述目标资源包的大小。
164.可选地,在本实施例中,上述目标资源包中还存在部分依赖项,例如,页面布局、语言包等数据,可以包括但不限于通过按需加载的方式,来避免加载不必须的资源,以较少目标资源包的大小,降低加载耗时。
165.可选地,在本实施例中,对于部分非icon类型且较大的图片,通过目标应用中提供的webpack中自定义loader的形式,将其自动上传到网络侧设备中,以便于后续从网络侧设备快速更新。
166.通过本实施例,采用从网络侧设备中获取目标应用的目标资源包,在目标应用中对目标资源包进行加载的过程中,对压缩图片进行解压,得到目标图片,并加载目标图片的方式,通过压缩图片以降低资源包的数据量,进而,提高页面资源的加载速度,从而实现了减少应用程序的显示加载时间的技术效果,进而解决了相关技术中存在的应用程序的显示页面加载时间过长的技术问题。
167.作为一种可选的方案,上述方法还包括:从网络侧设备中获取目标应用的加密资源包,其中,加密资源包是对目标应用的目标资源包进行加密得到的资源包,目标资源包是对目标应用的一组资源文件进行打包所形成的资源包;在目标应用中对加密资源包进行解密,得到目标资源包;在目标应用中加载目标资源包中的一组资源文件。
168.可选地,在本实施例中,可以包括但不限于采用与资源文件匹配的配置文件来实
现资源包的加密和解密,其中,配置文件包括但不限于支持系统、日期、下载url地址、zip压缩和bundle加/解密对称密钥设置、加载/卸载资源文件、md5校验等参数配置。
169.需要说明的是,现有技术中,一般对传输的资源文件进行加密,都是通过通道集加密实现,也即,采用预配置的协议传输来实现资源文件的加密,而在本实施例中,还可以包括但不限于在通道级加密的基础上,再对资源文件本身进行加密,再通过预配置的协议来传输,通过采用密文传输来替代明文传输,进一步提高数据传输的安全性能,在例如金融等业务场景中,能够进一步保护用户的数据安全,提高用户的使用体验。
170.作为一种可选的方案,上述方法还包括:确定目标应用启动时必须加载的资源文件和非必须加载的资源文件;
171.根据必须加载的资源文件,构建目标应用的安装包,其中,非必须加载的资源文件位于安装包的外部。
172.可选地,在本实施例中,可以包括但不限于根据必须加载的资源文件(例如,公共依赖部分,具体而言,可以包括但不限于目标应用的页面布局等)构建目标应用的安装包。
173.以图7为例,图7所示的vendor.js,即为上述必须加载的资源文件,可以包括但不限于hippy/vue、vue-router、vue-native-components等内容。
174.而对于非必须加载的资源文件而言,可以包括但不限于预先将该部分资源文件也放置在安装包中,例如,图7所示的js-md5是md5等工具函数;vuex是vue数据存储中心;core-js用来提供平台对于js代码的兼容等资源文件,构建在目标应用的安装包中,以实现在通过使用该安装包安装应用程序后,可以直接调用该部分资源文件进行数据处理或者应用页面的加载。
175.作为一种可选的方案,上述方法还包括:
176.在安装包中构建了目标应用启动时必须加载的资源文件和非必须加载的资源文件时,在目标终端启动目标应用时,在目标应用中加载必须加载的资源文件;
177.在目标应用中获取到目标交互指令时,在目标应用中加载非必须加载的资源文件,其中,目标交互指令用于请求非必须加载的资源文件。
178.可选地,在本实施例中,上述目标交互指令可以包括但不限于手动或自动触发的交互指令,以手动触发为例,当在目标应用中检测到对于部分交互对象(例如,按钮)执行交互操作时,确定在目标应用中获取到目标交互指令,进而,在目标应用中加载非必须加载的资源文件,以自动触发为例,可以包括但不限于预先配置关联的响应时间,在目标应用启动完成,并经过上述响应时间对应的时长之后,从网络侧设备获取上述非必须加载的资源文件。
179.需要说明的是,在加载上述必须加载的资源文件以及非必须加载的资源文件时,还可以在部分特定情况下,例如,在云指令未打开、无资源文件、资源加载失败的情况下,通过webview打开待展示页面,从服务器或网络侧设备拉取资源文件。
180.例如,图13是根据本发明实施例的又一种可选的应用页面的加载方法的示意图,如图13所示,具体可以包括但不限于如下方式加载资源文件:
181.s1,终端获取触控操作;
182.s2,检测目标开关是否开启(目标应用中用于开启云端指令的开关);
183.s3,检测目标终端本地是否存储有资源文件;
184.s4,在目标终端本地未存储资源文件的情况下,调用web view访问服务器;
185.s5,加载从服务器获取到的资源文件,并检测是否成功实现加载;
186.s6-1,在加载成功的情况下,调用hippy-vue加载资源文件(对应于前述的从网络侧设备更新资源文件);
187.s6-2,在加载失败的情况下,调用web view访问服务器,以重新获取更新后的资源文件。
188.上述仅是一种示例,本实施例不做任何具体的限定。
189.通过本实施例,采用在安装包中构建了目标应用启动时必须加载的资源文件和非必须加载的资源文件时,在目标终端启动目标应用时,在目标应用中加载必须加载的资源文件,在目标应用中获取到目标交互指令时,在目标应用中加载非必须加载的资源文件的方式,通过判断加载资源的状态,以灵活调整资源文件的获取方式,避免影响用户的使用体验,达到提高页面资源的加载速度,从而实现了减少应用程序的显示加载时间的技术效果,进而解决了相关技术中存在的应用程序的显示页面加载时间过长的技术问题。
190.作为一种可选的方案,上述方法还包括:确定目标资源文件的更新频率;在更新频率小于预设的更新频率阈值时,将目标资源文件构建到安装包中。
191.可选地,在本实施例中,上述更新频率可以包括但不限于由工作人员预先配置,具体而言,可以包括但不限于预设更新频率阈值,并在更新频率小于预设的更新频率阈值时,将目标资源文件构建到安装包中。
192.可选地,在本实施例中,还可以包括但不限于将上述更新频率与目标终端连接目标无线网络的时机相关联,例如,在目标终端从当前连接的移动网络切换到目标无线局域网络的时候,将目标资源文件构建到安装包中,目标终端从当前连接的无线局域网络切换到目标无线局域网络的时候,将目标资源文件构建到安装包中。
193.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
194.根据本发明实施例的另一个方面,还提供了一种用于实施上述应用页面的加载方法的应用页面的加载装置。如图14所示,该装置包括:
195.获取模块1402,用于在目标终端上获取目标应用的安装包,其中,安装包中构建了目标资源文件,目标资源文件为首次运行目标应用时需要通过网络下载的页面资源文件;
196.安装模块1404,用于通过在目标终端上运行安装包,在目标终端上安装目标应用,其中,在目标终端上存储有目标资源文件;
197.加载模块1406,用于响应于在目标终端上获取到的应用运行指令,在目标终端上首次运行目标应用,并在目标应用中加载目标终端上存储的目标资源文件,以在目标应用中显示目标应用页面,其中,目标资源文件包括在显示目标应用页面时所需加载的页面资源。
198.作为一种可选的方案,上述装置还用于:检测目标终端是否请求连接目标无线网络;在检测到目标终端请求连接目标无线网络、且目标应用运行在目标终端的后台时,将目
标应用的状态设置为允许向网络侧设备发送资源文件更新请求;在目标终端成功连接目标无线网络时,在目标应用上向网络侧设备发送资源文件更新请求,其中,资源文件更新请求用于请求获取更新的资源文件。
199.作为一种可选的方案,上述装置还用于:在检测到目标终端请求连接目标无线网络、且目标应用运行在目标终端的前台时,检测目标终端是否成功连接目标无线网络;在目标终端成功连接目标无线网络时,在目标应用上向网络侧设备发送资源文件更新请求。
200.作为一种可选的方案,上述装置用于通过如下方式检测目标终端是否请求连接目标无线网络:检测目标终端是否从当前连接的移动网络切换到目标无线局域网络;或者检测目标终端是否从当前连接的无线局域网络切换到目标无线局域网络;或者在目标终端处于关闭移动网络连接和关闭无线局域网络连接的状态下,检测目标终端是否启用无线局域网络连接。
201.作为一种可选的方案,上述装置还用于:获取网络侧设备中待拉取的资源文件的哈希值;在待拉取的资源文件的哈希值与目标应用上次拉取到的资源文件的哈希值不同时,从网络侧设备中获取待拉取的资源文件;在待拉取的资源文件的哈希值与目标应用上次拉取到的资源文件的哈希值相同时,停止从网络侧设备中获取待拉取的资源文件。
202.作为一种可选的方案,上述装置还用于:从网络侧设备中获取目标应用的目标资源包,其中,目标资源包是对目标应用的一组资源文件进行打包所形成的资源包,一组资源文件包括对目标图片进行压缩得到的压缩图片;在目标应用中对目标资源包进行加载的过程中,对压缩图片进行解压,得到目标图片,并加载目标图片。
203.作为一种可选的方案,上述装置还用于:从网络侧设备中获取目标应用的加密资源包,其中,加密资源包是对目标应用的目标资源包进行加密得到的资源包,目标资源包是对目标应用的一组资源文件进行打包所形成的资源包;在目标应用中对加密资源包进行解密,得到目标资源包;在目标应用中加载目标资源包中的一组资源文件。
204.作为一种可选的方案,上述装置还用于:确定目标应用启动时必须加载的资源文件和非必须加载的资源文件;根据必须加载的资源文件,构建目标应用的安装包,其中,非必须加载的资源文件位于安装包的外部。
205.作为一种可选的方案,上述装置还用于:在安装包中构建了目标应用启动时必须加载的资源文件和非必须加载的资源文件时,在目标终端启动目标应用时,在目标应用中加载必须加载的资源文件;在目标应用中获取到目标交互指令时,在目标应用中加载非必须加载的资源文件,其中,目标交互指令用于请求非必须加载的资源文件。
206.作为一种可选的方案,上述装置还用于:确定目标资源文件的更新频率;在更新频率小于预设的更新频率阈值时,将目标资源文件构建到安装包中。
207.根据本发明实施例的又一个方面,还提供了一种用于实施上述应用页面的加载方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为终端为例来说明。如图15所示,该电子设备包括存储器1502和处理器1504,该存储器1502中存储有计算机程序,该处理器1504被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
208.可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
209.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
210.s1,在目标终端上获取目标应用的安装包,其中,安装包中构建了目标资源文件,目标资源文件为首次运行目标应用时需要通过网络下载的页面资源文件;
211.s2,通过在目标终端上运行安装包,在目标终端上安装目标应用,其中,在目标终端上存储有目标资源文件;
212.s3,响应于在目标终端上获取到的应用运行指令,在目标终端上首次运行目标应用,并在目标应用中加载目标终端上存储的目标资源文件,以在目标应用中显示目标应用页面,其中,目标资源文件包括在显示目标应用页面时所需加载的页面资源;
213.s4,在检测到目标终端请求连接目标无线网络、且目标应用运行在目标终端的后台时,将目标应用的状态设置为允许向网络侧设备发送资源文件更新请求,其中,资源文件更新请求用于请求获取更新的资源文件;
214.s5,在目标终端成功连接目标无线网络、且目标应用运行在目标终端的后台时,在目标应用上向网络侧设备发送资源文件更新请求,并获取网络侧设备发送的更新的资源文件。
215.可选地,本领域普通技术人员可以理解,图15所示的结构仅为示意,电子装置电子设备也可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图15其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图15中所示更多或者更少的组件(如网络接口等),或者具有与图15所示不同的配置。
216.其中,存储器1502可用于存储软件程序以及模块,如本发明实施例中的应用页面的加载方法和装置对应的程序指令/模块,处理器1504通过运行存储在存储器1502内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用页面的加载方法。存储器1502可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1502可进一步包括相对于处理器1504远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1502具体可以但不限于用于存储资源文件等信息。作为一种示例,如图15所示,上述存储器1502中可以但不限于包括上述应用页面的加载装置中的获取模块1402、安装模块1404以及加载模块1406等。此外,还可以包括但不限于上述应用页面的加载装置中的其他模块单元,本示例中不再赘述。
217.可选地,上述的传输装置1506用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1506包括一个网络适配器(network interface controller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1506为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
218.此外,上述电子设备还包括:显示器1508,用于显示上述页面;和连接总线1510,用于连接上述电子设备中的各个模块部件。
219.在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通
信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(p2p,peer to peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
220.根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述应用页面的加载方面的各种可选实现方式中提供的方法。其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
221.可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
222.s1,在目标终端上获取目标应用的安装包,其中,安装包中构建了目标资源文件,目标资源文件为首次运行目标应用时需要通过网络下载的页面资源文件;
223.s2,通过在目标终端上运行安装包,在目标终端上安装目标应用,其中,在目标终端上存储有目标资源文件;
224.s3,响应于在目标终端上获取到的应用运行指令,在目标终端上首次运行目标应用,并在目标应用中加载目标终端上存储的目标资源文件,以在目标应用中显示目标应用页面,其中,目标资源文件包括在显示目标应用页面时所需加载的页面资源;
225.s4,在检测到目标终端请求连接目标无线网络、且目标应用运行在目标终端的后台时,将目标应用的状态设置为允许向网络侧设备发送资源文件更新请求,其中,资源文件更新请求用于请求获取更新的资源文件;
226.s5,在目标终端成功连接目标无线网络、且目标应用运行在目标终端的后台时,在目标应用上向网络侧设备发送资源文件更新请求,并获取网络侧设备发送的更新的资源文件。
227.可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
228.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
229.上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
230.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
231.在本技术所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者
可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
232.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
233.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
234.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1