应用程序中的网页首屏渲染方法及装置与流程

文档序号:28491373发布日期:2022-01-15 02:45阅读:70来源:国知局
应用程序中的网页首屏渲染方法及装置与流程

1.本技术涉及计算机技术领域,尤其涉及一种应用程序中的网页首屏渲染方法及装置。


背景技术:

2.随着互联网技术的发展和移动终端的普及,人们越来越习惯通过应用程序(app)从网络中获取各类信息。然而,随着应用程序包含的功能不断丰富,应用程序中的网页页面(web页面)展示的内容越来越丰富,通常一个web页面会呈现多屏展示内容,用户可以通过滑动操作或者点击操作来触发移动终端执行web页面的翻屏操作,从而将web页面的首屏页面切换至其他屏页面。现有技术中,当用户访问首屏页面时,移动终端会向服务器发送网络请求以获取首屏页面数据,之后,移动终端通过获取到的首屏页面数据对首屏页面进行渲染,从而实现首屏页面的展示。一般来说,从用户触发请求打开一个首屏页面到应用程序展示首屏页面需要一定的耗时,导致用户需经历一个较长的等待时间。为了减少用户的等待时间,现有技术中有将首屏页面的静态资源(html、css、js、image等资源)下载到本地,当用户访问首屏页面时应用程序将远程资源的访问请求本地化,以此来去除网络通讯所需的时间,从而来达到首屏提速的目的。发明人发现,通过这种优化方式用户还是需要一个比较长的等待时间。


技术实现要素:

3.有鉴于此,现提供一种应用程序中的网页首屏渲染方法、装置、计算机设备及计算机可读存储介质,以解决如何进一步减少在渲染网页首屏时用户所需等待的时间的问题。
4.本技术提供了一种应用程序中的网页首屏渲染方法,包括:
5.在接收到用户触发的应用程序中的网页首屏访问请求时,根据所述网页首屏的统一资源定位符判断预设的资源包中是否存在与所述网页首屏相匹配的预加载信息,所述预加载信息包括用于获取所述网页首屏的动态资源的请求体;
6.在判定出所述资源包中存在所述预加载信息时,根据所述请求体向服务器获取响应所述请求体的响应数据;
7.接收所述服务器返回的响应数据,并将所述响应数据存储至所述应用程序中;
8.当对所述网页首屏进行渲染时,从所述应用程序中获取所述响应数据,并采用所述响应数据对所述网页首屏进行渲染。
9.可选地,所述在接收到用户触发的应用程序中的网页首屏访问请求时,根据所述网页首屏的统一资源定位符判断预设的资源包中是否存在与所述网页首屏相匹配的预加载信息包括:
10.在接收到用户触发的应用程序中的网页首屏访问请求时,根据所述访问请求生成网络请求,所述网络请求中包含有所述网页首屏的统一资源定位;
11.拦截所述网络请求,根据所述网络请求中的统一资源定位符判断预设的资源包中
是否存在与所述网页首屏相匹配的预加载信息。
12.可选地,所述方法还包括:
13.在所述资源包中不存在与所述网页首屏相匹配的预加载信息时,通过所述网络请求向所述服务器获取所述网页首屏对应的页面数据;
14.采用所述页面数据对所述网页首屏进行渲染。
15.可选地,所述方法还包括:
16.当所述应用程序启动时,向所述服务器请求下载所述资源包,所述资源包包括多个网页首屏的离线资源,每一个网络首屏的离线资源包括网页首屏的预加载信息。
17.可选地,所述当所述应用程序启动时,向所述服务器请求下载所述资源包包括:
18.当所述应用程序启动时,判断本地是否存在所述资源包;
19.当本地存在所述资源包时,获取所述资源包中包含的各个离线资源的第一哈希值;
20.将各个第一哈希值与所述服务器中包含的与各个第一哈希值相对应的第二哈希值进行比较,所述第二哈希值为服务器中的资源包中的各个离线资源的哈希值;
21.在所述第一哈希值和所述第二哈希值不相同时,则向所述服务器请求下载与所述第二哈希值相对应的离线资源。
22.可选地,所述方法还包括:
23.当从所述应用程序获取所述响应数据后,将所述响应数据从所述应用程序中删除;及
24.当检测到所述响应数据在预设时间段内未被使用,将所述响应数据从所述应用程序中删除。
25.可选地,所述当对所述网页首屏进行渲染时,从所述应用程序中获取所述响应数据,并采用所述响应数据对所述网页首屏进行渲染包括:
26.当对所述网页首屏进行渲染时,若所述应用程序中不存在所述响应数据,且所述请求体的状态为待定状态,则等待接收所述服务器返回的响应数据,并将所述响应数据存储至所述应用程序中;
27.从所述应用程序中获取所述响应数据,并采用所述响应数据对所述网页首屏进行渲染。
28.本技术还提供了一种应用程序中的网页首屏渲染装置,包括:
29.判断模块,用于在接收到用户触发的应用程序中的网页首屏访问请求时,根据所述网页首屏的统一资源定位符判断预设的资源包中是否存在与所述网页首屏相匹配的预加载信息,所述预加载信息包括用于获取所述网页首屏的动态资源的请求体;
30.获取模块,用于在判定出所述资源包中存在所述预加载信息时,根据所述请求体向服务器获取响应所述请求体的响应数据;
31.存储模块,用于接收所述服务器返回的响应数据,并将所述响应数据存储至所述应用程序中;
32.渲染模块,用于当对所述网页首屏进行渲染时,从所述应用程序中获取所述响应数据,并采用所述响应数据对所述网页首屏进行渲染。
33.本技术还提供了一种计算机设备,所述计算机设备,包括存储器、处理器以及存储
在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
34.本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
35.本实施例通过在资源包中存储用于获取所述网页首屏的动态资源的请求体,这样,在用户访问网页首屏时,即可以直接通过这些请求体向服务端获取响应数据,并采用所述响应数据渲染网页首屏,而无需等待对网页首屏的页面数据进行解析后才能得到获取所述响应数据的请求体,从而节省了获取所述响应数据的时间,提高了应用程序中的网页首屏渲染速度,减少了用户的等待时间。
附图说明
36.图1为本技术实施例的应用程序中的网页首屏渲染方法的环境示意图;
37.图2为本技术所述的应用程序中的网页首屏渲染方法的一种实施例的流程图;
38.图3为本技术一实施方式中的在接收到用户触发的应用程序中的网页首屏访问请求时,根据所述网页首屏的统一资源定位符判断预设的资源包中是否存在与所述网页首屏相匹配的预加载信息的步骤细化流程示意图;
39.图4为本技术所述的应用程序中的网页首屏渲染方法的另一种实施例的流程图;
40.图5为本技术一实施方式中当所述应用程序启动时,向所述服务器请求下载所述资源包的步骤细化流程示意图;
41.图6为本技术一实施方式中当对所述网页首屏进行渲染时,从所述应用程序中获取所述响应数据,并采用所述响应数据对所述网页首屏进行渲染的步骤细化流程示意图;
42.图7为本技术中的应用程序中的网页首屏渲染方法的实现流程示意图;
43.图8为本技术所述的应用程序中的网页首屏渲染装置的一种实施例的程序模块图;
44.图9为本技术实施例提供的执行应用程序中的网页首屏渲染方法的计算机设备的硬件结构示意图。
具体实施方式
45.以下结合附图与具体实施例进一步阐述本技术的优点。
46.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
47.在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
48.应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离
本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
49.在本技术的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本技术及区别每一步骤,因此不能理解为对本技术的限制。
50.需要说明的是,应用程序在渲染网页首屏时是通过浏览器内核来实现的,其中,浏览器内核负责对网页语法的解释(如html、javascript)并渲染(显示)网页,即通过浏览器内核对网页进行解析和渲染。通常,浏览器内核也被称为渲染引擎。渲染引擎用于将html/css/javascript文本及其相应的资源文件转换成图像结果进行显示。
51.通常,在使用显示区域受限的移动终端(例如,智能手机)上安装的具有浏览器内核的应用程序(app)打开一个页面时,其页面性能是由页面首屏的渲染速度决定的。由应用程序渲染的页面需要下载首屏数据,执行javascript脚本来解析首屏数据,再将解析出各种标签,插入到页面html文档里。浏览器内核接着解析排版html文档,并发起首屏图片请求,对加载的图片进行解码,渲染页面,之后,用户才能够看到页面首屏,而这一串操作都是串行执行的,因此需要耗费比较长的时间。
52.一般来说,动态数据需要经由网络下载,因此通常耗时需要600ms以上。执行javascript脚本渲染首屏也比较耗时,通常需要300ms以上。由此,会使得用户在每次打开一个新的页面时都会经历长时间的等待过程,严重影响用户的使用体验。
53.图1示意性示出了根据本技术实施例的应用程序中的网页首屏渲染方法的应用环境示意图。在示例性的实施例中,该应用环境的系统可包括终端设备10、服务器20。其中,终端设备10与服务器20形成无线或有线连接。终端设备10可以为手机、ipad,平板电脑等。服务器20可以为一台服务器或多台服务器组成的服务器集群或云计算中心等,具体此处不作限定。终端设备10中可以运行上述应用程序中的网页首屏渲染方法。
54.参阅图2,其为本技术一实施例的应用程序中的网页首屏渲染方法的流程示意图。本可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。本技术以手机作为执行主体为例,从图中可以看出,本实施例中所提供的应用程序中的网页首屏渲染方法包括:
55.步骤s20、在接收到用户触发的应用程序中的网页首屏访问请求时,根据所述网页首屏的统一资源定位符判断预设的资源包中是否存在与所述网页首屏相匹配的预加载信息,所述预加载信息包括用于获取所述网页首屏的动态资源的请求体。
56.具体地,所述应用程序为具有网页页面(web页面)的应用程序(app)。
57.所述网页首屏为应用程序的web页面在终端设备的屏幕上第一屏所显示的web页面内容。
58.所述资源包包括多个网页首屏的离线资源,每一个网络首屏的离线资源包括网页首屏的预加载信息。其中,多个网页首屏可以为应用程序中的所有web页面的网页首屏,也可以为应用程序中的部分web页面的网页首屏,在本实施例中不作限定。
59.所述动态资源为需要通过网络请求向服务器获取的接口数据,其中,该接口数据为用于渲染网页首屏中的组件所需的数据。
60.通常,我们将整个网页首屏(html)抽象为不同的业务模块,不同的业务模块即称
为不同的组件,组件渲染往往依赖接口数据,组件渲染出的就是dom节点,所有dom节点渲染完毕即可以得到网页首屏对应的显示页面。
61.所述预加载信息包括用于获取所述网页首屏的动态资源的请求体,通过该请求体可以获取渲染该网页首屏所需要的接口数据。其中,所述请求体可以包括请求所述网页首屏的请求方法(get,post,等)、请求所述网页首屏的url、请求所述网页首屏的请求相关的headers对象、请求所述网页首屏的params等。
62.需要说明的是,上述所述的接口数据可以指网页首屏中包含的所有组件所需的接口数据。
63.在本实施例中,当用户想要访问某个web页面的网页首屏时,用户可以通过点击页面中的目标控件的方式来触发应用程序中的网页首屏访问请求。
64.现有技术中,当用户触发网页首屏访问请求时,应用程序会根据该网页首屏的统一资源定位符(uniform resource locator,url)向服务器请求获取该网页首屏的页面数据。然而,在本技术中,当接收到页面访问请求后,并不会先根据该网页首屏的统一资源定位符(uniform resource locator,url)向服务器请求获取该网页首屏的页面数据,而是会先根据该网页首屏的url判断预设的资源包中是否存在与所述网页首屏相匹配的预加载信息,当资源包中不存在所述预加载信息时,才会根据该网页首屏的url向服务器请求获取该网页首屏的页面数据。
65.需要说明的是,所述资源包是预先下载并存储至手机中,当资源包中包含的内容发生变化时,也可以对该资源包进行更新。
66.作为示例,所述资源包可以包括如下内容:请求网页首屏的请求方法(get,post,等)、请求所述网页首屏的url、请求所述网页首屏的请求相关的headers对象、请求所述网页首屏的params等。
67.在一示例性的实施方式中,参阅图3,所述在接收到用户触发的应用程序中的网页首屏访问请求时,根据所述网页首屏的统一资源定位符判断预设的资源包中是否存在与所述网页首屏相匹配的预加载信息包括:步骤s31,在接收到用户触发的应用程序中的网页首屏访问请求时,根据所述访问请求生成网络请求,所述网络请求中包含有所述网页首屏的统一资源定位符;步骤s32,拦截所述网络请求,根据所述网络请求中的统一资源定位符判断预设的资源包中是否存在与所述网页首屏相匹配的预加载信息。
68.具体地,当用户触发网页首屏访问请求时,会根据该访问请求生成网络请求,以便可以通过该网络请求向服务器请求获取该网页首屏对应的页面数据。在生成网络请求后,会拦截该网络请求,并根据该网络请求中的url来判断资源包中是否存在与所述网页首屏相匹配的预加载信息。具体而言,可以将该网络请求中包含的url与资源包中的各个预加载信息中包含的url进行比较,若存在与该网络请求中包含的url所相同的url,则可以判定资源包中存在与所述网页首屏相匹配的预加载信息。若不存在与该网络请求中包含的url所相同的url,则可以判定资源包中不存在与所述网页首屏相匹配的预加载信息。
69.步骤s21,在判定出所述资源包中存在所述预加载信息时,根据所述请求体向服务器获取响应所述请求体的响应数据。
70.具体地,当判定出资源包中存在所述预加载信息时,即可以直接通过所述请求体向服务器获取响应所述请求体的响应数据,而无需等待对该网页首屏的页面代码进行解析
后才通过解析后得到的请求体向服务器获取响应该请求体的响应数据,从而可以节省获取响应数据的时间。
71.步骤s22,接收所述服务器返回的响应数据,并将所述响应数据存储至所述应用程序中。
72.步骤s23,当对所述网页首屏进行渲染时,从所述应用程序中获取所述响应数据,并采用所述响应数据对所述网页首屏进行渲染。
73.具体地,当接收到服务器返回的响应数据后,可以将该响应数据存储至所述应用程序中,以便后续在对需要对网页首屏进行渲染时,可以直接从该应用程序中拿到响应数据,并采用这些响应数据对所述网页首屏进行渲染,从而得到网页首屏。
74.本技术实施例通过在资源包中存储用于获取所述网页首屏的动态资源的请求体,这样,在用户访问网页首屏时,即可以直接通过这些请求体向服务端获取响应数据,并采用所述响应数据渲染网页首屏,而无需等待对网页首屏的页面数据进行解析后才能得到获取所述响应数据的请求体,从而节省了获取所述响应数据的时间,提高了应用程序中的网页首屏渲染速度,减少了用户的等待时间。
75.在一示例性的实施方式中,参阅图4,所述方法还包括:步骤s40,在所述资源包中不存在与所述网页首屏相匹配的预加载信息时,通过所述网络请求向所述服务器获取所述网页首屏对应的页面数据;步骤s41,采用所述页面数据对所述网页首屏进行渲染。
76.具体地,当资源包中不存在与所述网页首屏相匹配的预加载信息时,可以通过正常的网页首屏渲染逻辑来实现网页首屏的渲染,即通过向服务器发送网络请求获取页面数据,并在接收到服务器返回的页面数据后,采用所述页面数据对网页首屏进行渲染,从而向用户展示网页首屏。
77.在一示例性的实施方式中,为了当用户访问网页首屏时,可以及时从资源包中获取到预加载信息,所述方法还包括:
78.当所述应用程序启动时,向所述服务器请求下载所述资源包,所述资源包包括多个网页首屏的离线资源,每一个网络首屏的离线资源包括网页首屏的预加载信息。
79.本实施例中,当应用程序进行热启动或者冷启动时,都可以向服务器请求下载所述资源包。
80.在一示例性的实施方式中,参阅图5,为了避免资源包的重复下载,导致浪费网络资源,在本实施例中,当所述应用程序启动时,向所述服务器请求下载所述资源包包括:
81.步骤s50,当所述应用程序启动时,判断本地是否存在所述资源包。
82.具体地,当应用程序启动后,可以先判断本地是否存在所述资源包,当本地不存在所述资源包时,则可以向所述服务器请求下载所述资源包。当本地存在资源包时,可以判断资源包是否发生更新,若没有发生更新,则也无需向所述服务器请求下载所述资源包;若所述资源包发生更新,才会向所述服务器请求下载所述资源包。
83.步骤s51,当本地存在所述资源包时,获取所述资源包中包含的各个离线资源的第一哈希值。
84.具体地,为了便于判断本地存储的资源包与服务器存储的资源包是否相同,可以在将资源包存储至本地时,为资源包中的每一个离线资源都生成一个对应的第一哈希值。
85.步骤s52,将各个第一哈希值与所述服务器中包含的与各个第一哈希值相对应的
第二哈希值进行比较,所述第二哈希值为服务器中的资源包中的各个离线资源的哈希值。
86.具体地,可以预先为服务器中存储的资源包中的各个离线资源生成对应的第二哈希值,这样,在判断本地的资源包与服务器中的资源包是否相同时,即可以通过比较第一哈希值与对应的第二哈希值是否相同的方式来判定每一个离线资源是否发生了更新。
87.作为示例,假设本地存储的资源包包括离线资源1、离线资源2及离线资源3,且其第一哈希值分别为hash 1、hash 2、hash 3。服务器中的资源包包括离线资源a、离线资源b及离线资源c,且其第二哈希值分别为hash a、hash b、hash c,其中,离线资源a、离线资源b及离线资源c与离线资源1、离线资源2及离线资源3分别一一对应。在进行比较时,可以将hash 1与hash a、hash 2与hash b、hash 3与hash c进行比较,若比较结果为相同,则表明该离线资源未发生变化,若比较结果为不同,则表明该离线资源发生了更新。
88.步骤s53,在所述第一哈希值和所述第二哈希值不相同时,则向所述服务器请求下载与所述第二哈希值相对应的离线资源。
89.具体地,当本地中的当前待比较的离线资源的第一哈希值与服务器中存储的当前待比较的离线资源的第二哈希值不相同时,则可以向服务器请求下载与所述第二哈希值相对应的离线资源。当当前待比较的离线资源的第一哈希值与对应的离线资源的第二哈希值相同时,则无需向服务器请求下载与该第二哈希值相对应的离线资源,并可以继续对本地中存储的下一个离线资源进行比较,直到所有的离线资源比较完毕为止。
90.在一示例性的实施方式中,为了保证数据的时效性和准确性,当从所述应用程序获取所述响应数据后,可以将所述响应数据从所述应用程序中删除。当检测到所述响应数据在预设时间段内未被使用,也可以将所述响应数据从所述应用程序中删除。
91.在一示例性的实施方式中,参阅图6,所述当对所述网页首屏进行渲染时,从所述应用程序中获取所述响应数据,并采用所述响应数据对所述网页首屏进行渲染包括:步骤s60,当对所述网页首屏进行渲染时,若所述应用程序中不存在所述响应数据,且所述请求体的状态为待定状态,则等待接收所述服务器返回的响应数据,并将所述响应数据存储至所述应用程序中;步骤s61,从所述应用程序中获取所述响应数据,并采用所述响应数据对所述网页首屏进行渲染。
92.本实施例中,当在对网页首屏进行渲染时,若在应用程序中暂时还不存在所述响应数据,但是又存在所述请求体,且所述请求体当前所处的状态为待定状态(pending状态),则为了提高网页首屏的渲染速度,可以等待接收所述服务器返回的响应数据,并将所述响应数据存储至所述应用程序中,之后再从所述应用程序中获取所述响应数据,并采用所述响应数据对所述网页首屏进行渲染。
93.需要说明的是,所述待定状态指的是通过所述请求体向服务器获取响应数据的任务既没有被兑现,也没有被拒绝。
94.本技术通过等待的方式,而不是直接通过网络请求向服务器获取页面数据,并采用获取到的页面数据来渲染网页首屏。可以提高网页首屏的渲染速度。
95.为了便于理解本技术,以下将结合一具体实施例详细介绍本技术中的应用程序中的网页首屏渲染方法的实现流程。
96.参阅图7所示,应用程序(app)在启动后,会去远程服务器中下载资源包,并将该下载的资源包存储至预设的存储空间中。当该存储空间中存在已下载好的资源包时,在本次
app启动下载好资源包后,app会使用当前下载的资源包对之前下载好的资源包进行更新,从而使得存储的资源包是最新的资源包。当用户访问app中的网页首屏时,app会根据当前用户访问的网页首屏的网页链接(url)判断资源包中是否存在与该网页链接相匹配的离线资源。当该资源包中存在匹配的离线资源时,app会从资源包中获取加载该网页首屏所需的request(请求体),然后通过该request向服务器获取响应所述请求体的响应数据(response),并在获取到服务器返回的响应数据后,将该响应数据存储在该app本地中。当app需要对该网页首屏进行渲染时,可以从该app本地中获取响应数据,并采用该响应数据对网页首屏进行渲染。
97.在本实施例中,当app根据当前用户访问的网页首屏的网页链接(url)判断出资源包中不存在匹配的离线资源时,app会通过浏览器初始化该网页首屏的html,之后,浏览器会发送网络请求向服务器获取该网页首屏对应的响应数据。在浏览器发送网络请求获取响应数据时,app会拦截该网络请求,然后判断app本地中是否存在响应数据,当判断出本地存在响应数据,app会采用本地存储的响应数据对网页首屏进行渲染。当app判断出app本地中不存在响应数据时,app才会通过浏览器向服务器获取响应数据,然后app会使用浏览器获取到的响应数据对网页首屏进行渲染。
98.参阅图8所示,是本技术应用程序中的网页首屏渲染装置70一实施例的程序模块图。
99.本实施例中,所述应用程序中的网页首屏渲染装置70包括一系列的存储于存储器上的计算机程序指令,当该计算机程序指令被处理器执行时,可以实现本技术各实施例的应用程序中的网页首屏渲染功能。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,应用程序中的网页首屏渲染装置70可以被划分为一个或多个模块,具体可以划分的模块如下:
100.判断模块71,用于在接收到用户触发的应用程序中的网页首屏访问请求时,根据所述网页首屏的统一资源定位符判断预设的资源包中是否存在与所述网页首屏相匹配的预加载信息,所述预加载信息包括用于获取所述网页首屏的动态资源的请求体;
101.获取模块72,用于在判定出所述资源包中存在所述预加载信息时,根据所述请求体向服务器获取响应所述请求体的响应数据;
102.存储模块73,用于接收所述服务器返回的响应数据,并将所述响应数据存储至所述应用程序中;
103.渲染模块74,用于当对所述网页首屏进行渲染时,从所述应用程序中获取所述响应数据,并采用所述响应数据对所述网页首屏进行渲染。
104.在一示例性的实施方式中,所述判断模块71,在接收到用户触发的应用程序中的网页首屏访问请求时,根据所述访问请求生成网络请求,所述网络请求中包含有所述网页首屏的统一资源定位符;拦截所述网络请求,根据所述网络请求中的统一资源定位符判断预设的资源包中是否存在与所述网页首屏相匹配的预加载信息。
105.在一示例性的实施方式中,所述获取模块72,还用于在所述资源包中不存在与所述网页首屏相匹配的预加载信息时,通过所述网络请求向所述服务器获取所述网页首屏对应的页面数据。
106.所述渲染模块74,还用于采用所述页面数据对所述网页首屏进行渲染。
107.在一示例性的实施方式中,所述应用程序中的网页首屏渲染装置70还包括请求模块。
108.所述请求模块,用于当所述应用程序启动时,向所述服务器请求下载所述资源包,所述资源包包括多个网页首屏的离线资源,每一个网络首屏的离线资源包括网页首屏的预加载信息。
109.在一示例性的实施方式中,所述请求模块,还用于当所述应用程序启动时,判断本地是否存在所述资源包;当本地存在所述资源包时,获取所述资源包中包含的各个离线资源的第一哈希值;将各个第一哈希值与所述服务器中包含的与各个第一哈希值相对应的第二哈希值进行比较,所述第二哈希值为服务器中的资源包中的各个离线资源的哈希值;在所述第一哈希值和所述第二哈希值不相同时,则向所述服务器请求下载与所述第二哈希值相对应的离线资源。
110.在一示例性的实施方式中,所述应用程序中的网页首屏渲染装置70还包括删除模块。
111.所述删除模块,用于当从所述应用程序获取所述响应数据后,将所述响应数据从所述应用程序中删除;及当检测到所述响应数据在预设时间段内未被使用,将所述响应数据从所述应用程序中删除。
112.在一示例性的实施方式中,所述渲染模块74,还用于当对所述网页首屏进行渲染时,若所述应用程序中不存在所述响应数据,且所述请求体的状态为待定状态,则等待接收所述服务器返回的响应数据,并将所述响应数据存储至所述应用程序中;从所述应用程序中获取所述响应数据,并采用所述响应数据对所述网页首屏进行渲染。
113.本实施例通过在资源包中存储用于获取所述网页首屏的动态资源的请求体,这样,在用户访问网页首屏时,即可以直接通过这些请求体向服务端获取响应数据,并采用所述响应数据渲染网页首屏,而无需等待对网页首屏的页面数据进行解析后才能得到获取所述响应数据的请求体,从而节省了获取所述响应数据的时间,提高了应用程序中的网页首屏渲染速度,减少了用户的等待时间。
114.图9示意性示出了根据本技术实施例的适于实现应用程序中的网页首屏渲染方法的计算机设备8的硬件架构示意图。本实施例中,计算机设备8是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图9所示,计算机设备8至少包括但不限于:可通过系统总线相互通信链接存储器120、处理器121、网络接口122。其中:
115.存储器120至少包括一种类型的计算机可读存储介质,该可读存储介质可以是易失性的,也可以是非易失性的,具体而言,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器120可以是计算机设备8的内部存储模块,例如该计算机设备8的硬盘或内存。在另一些实施例中,存储器120也可以是计算机设备8的外部存储设备,例如该计算机设备8上配备的插接式硬盘,智能存储卡(smart media card,简称为smc),安全数字(secure digital,简称为sd)卡,闪存卡(flash card)等。当然,存储器120
还可以既包括计算机设备8的内部存储模块也包括其外部存储设备。本实施例中,存储器120通常用于存储安装于计算机设备8的操作系统和各类应用软件,例如应用程序中的网页首屏渲染方法的程序代码等。此外,存储器120还可以用于暂时地存储已经输出或者将要输出的各类数据。
116.处理器121在一些实施例中可以是中央处理器(central processing unit,简称为cpu)、控制器、微控制器、微处理器、或其它应用程序中的网页首屏渲染芯片。该处理器121通常用于控制计算机设备8的总体操作,例如执行与计算机设备8进行数据交互或者通信相关的控制和处理等。本实施例中,处理器121用于运行存储器120中存储的程序代码或者处理数据。
117.网络接口122可包括无线网络接口或有线网络接口,该网络接口122通常用于在计算机设备8与其它计算机设备之间建立通信链接。例如,网络接口122用于通过网络将计算机设备8与外部终端相连,在计算机设备8与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(global system of mobile communication,简称为gsm)、宽带码分多址(wideband code division multiple access,简称为wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi等无线或有线网络。
118.需要指出的是,图9仅示出了具有部件120~122的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
119.在本实施例中,存储于存储器120中的应用程序中的网页首屏渲染方法可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器121)所执行,以完成本技术。
120.本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的应用程序中的网页首屏渲染方法的步骤。
121.本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,简称为smc),安全数字(secure digital,简称为sd)卡,闪存卡(flash card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的应用程序中的网页首屏渲染方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
122.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要筛选出其中的部分或者全部模块来实现本技术实施例方案的目的。本领域普通技术人员在不付出
创造性的劳动的情况下,即可以理解并实施。
123.通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
124.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1