一种提升Webview打开速度的方法与流程

文档序号:18197018发布日期:2019-07-17 05:55阅读:634来源:国知局
一种提升Webview打开速度的方法与流程

本发明涉及无线技术领域,特别是一种提升webview打开速度的方法。



背景技术:

目前大部分移动端应用(app)是采用hybrid架构,也即由原生app技术和web技术共同组成。部分页面采用原生代码编写(比如在苹果系统上,使用objectc语言或swift语言编写,在安卓系统上,使用java语言或kotlin语言编写),部分页面由html、css和js来编写,由webview容器来加载。这种hybrid架构往往是首屏加载native页面,后续再加载web页面。在加载web页面时,有较多的应用选择了加载在线web页面的方案。

加载在线web页面所需要的网络静态资源时,需要建立网络连接,从远端的服务器下载所需资源。由于网络延迟高、无线网络不稳定和服务器响应慢等问题,app加载在线web页面时,速度往往比较慢,会让用户等待较久时间才能完全展示出页面。

为了解决这种问题,业界一般有这几种方案:

1.加载远端web页面时,使用原生开发技术开启多个下载线程/进程,帮助下载web页面所需的资源。

优点:通过native代码帮助webview下载文件,突破webview自身并发下载资源数量的限制。

缺点:

a.需要native编写代码,接管webview的缓存管理系统,从而将下载的资源给webview使用。

b.即使是多个线程/进程同时下载,同样需要面对网络延迟高、无线网络不稳定和服务器响应慢等问题。

2.将远端的页面所需静态资源,通过推送等手段提前下发到用户手机内,在用户打开webview页面时,实际使用的是已经下载好的本地页面。

优点:在打开web页面时,不需要等待网络下载资源完成,直接加载以前下载好的本地页面即可。

缺点:

a.需要native编写代码,接管webview的缓存管理系统,从而将网络请求转为本地资源请求使用。

b.服务端需要建立文件推送机制,native侧需要建立文件接收机制。

webview自身带了缓存系统,它的原理是(如图1):加载过的静态资源,默认会缓存起来,在后期的网络资源请求过程中,如果发现该文件之前已经被缓存,则用该缓存文件作为网络请求结果来响应,省去了网络请求过程。



技术实现要素:

本发明的目的在于提供一种提升webview打开速度的方法,解决现有技术的技术问题,利用webview自身的缓存技术,低成本的实现页面打开速度提速。

为解决上述技术问题,本发明采用如下技术方案:

一种提升webview打开速度的方法,其特征在于:

利用webview缓存系统的特性,在进入到网页之前,停留在native页面阶段时,建立一个用户不可见的webview,预先加载部分或全部web页面所需要的静态资源,webview会将这些静态资源放入自身的缓存系统当中;

在用户在后面的操作中,加载网页时,webview便会对网页所需要的资源从缓存中查找,如果找到就直接响应。

藉由上述方法,本发明具有如下优点:本发明利用webview自身的缓存技术,以较低成本来实现提升网页加载速度。

附图说明

图1是webview加载网络资源原理图。

图2是本发明方法原理图。

具体实施方式

请参阅图2,本发明公开了一种提升webview打开速度的方法。

该方法利用webview缓存系统的特性,在进入到网页之前,停留在native页面阶段时,建立一个用户不可见的webview,预先加载部分或全部web页面所需要的静态资源,webview会将这些静态资源放入自身的缓存系统当中。

在用户在后面的操作中,加载网页时,webview便会对网页所需要的资源从缓存中查找,如果找到就直接响应。这些资源就不需要即时从网络上下载了,减少了用户等待时间。

部分hybrid应用进入到网页前,会停留在native页面,比如native的子应用列表页或引导页等。本方法是在这个native页面中,建立一个隐藏的webview(如宽0px高0px的webview),对后续要请求的全部或部分资源进行预加载。预加载的载体可以为一个html页面,把需要预加载的图片、js、css文件等资源,通过html引用的方式进行加载。

当后续进入到web页面时,正常加载即可。webview会利用自身的缓存机制,对缓存中已存在的资源直接作为网络请求结果响应,不再重新请求。

以上对本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中;在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。



技术特征:

技术总结
本发明公开了一种提升Webview打开速度的方法。利用Webview缓存系统的特性,在进入到网页之前,停留在native页面阶段时,建立一个用户不可见的Webview,预先加载部分或全部web页面所需要的静态资源,Webview会将这些静态资源放入自身的缓存系统当中;在用户在后面的操作中,加载网页时,Webview便会对网页所需要的资源从缓存中查找,如果找到就直接响应。本发明方法利用Webview自身的缓存技术,低成本的实现页面打开速度提速。

技术研发人员:张飞;严永峰;吴超
受保护的技术使用者:天翼电子商务有限公司
技术研发日:2018.09.07
技术公布日:2019.07.16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1