资源加载和页面渲染方法及程序产品技术

技术编号:33527729 阅读:15 留言:0更新日期:2022-05-19 01:52
本申请实施例提供一种资源加载和页面渲染方法及程序产品。在本申请实施例中,利用钩子技术将页面视图控件中的请求注册函数,替换为支持在页面视图控件中注册自定义请求类型的新的请求注册函数;这样,可在页面视图控件中注册自定义请求类型。在实际使用过程中,可在监测到自定义请求类型的网络请求任务时,从本地存储的资源文件中加载网络请求任务所需的资源,实现了网络资源的离线加载,而且该过程只需在初始化阶段对页面视图控件中的请求注册函数进行hook处理,在实际资源加载过程中无需对资源进行频繁转码,降低了资源加载过程中对内存的占用,有助于提高资源加载效率。有助于提高资源加载效率。有助于提高资源加载效率。

【技术实现步骤摘要】
资源加载和页面渲染方法及程序产品


[0001]本申请涉及计算机
,尤其涉及一种资源加载和页面渲染方法及程序产品。

技术介绍

[0002]随着互联网技术的发展及智能终端的不断普及,小程序等免安装应用,为用户使用各类基于互联网的服务提供了极大的便利。
[0003]为解决小程序的资源文件下载耗时的问题,现有技术将小程序相关的代码等资源文件提前下载安装到客户端缓存,但该当小程序运行的载体—页面视图控件(webview)打开对应的页面统一定义资源符(URL)时,如何加载本地缓存的资源文件到webview内部成了一大难题。
[0004]为解决该难题,现有技术采用的技术方案是:将小程序对应的资源文件转换成base64字符串格式,然后通过JS代码将成base64字符串格式的资源文件注入到webview内部。但本申请专利技术人在对该技术方案进行研究的过程中发现,资源文件在转码过程中会占用大量内存,这会对客户端性能产生影响,极易导致应用崩溃。

技术实现思路

[0005]本申请的多个方面提供一种资源加载和页面渲染方法及程序产品,用以降低小程序离线资源加载过程中的内存占用,进而提高资源加载效率。
[0006]本申请实施例提供一种资源加载方法,包括:
[0007]利用钩子技术将页面视图控件中的第一请求注册函数替换为第二请求注册函数;所述第一请求注册函数不支持在页面视图控件中注册自定义请求类型;所述第二请求注册函数支持在页面视图控件中注册所述自定义请求类型;
[0008]将通过所述第二请求注册函数检测的自定义请求类型,注册在所述页面视图控件中;
[0009]在监测到所述自定义请求类型的网络请求任务时,从本地存储的资源文件中加载所述网络请求任务所需的资源。
[0010]本申请实施例还提供一种页面渲染方法,包括:
[0011]响应于资源请求事件,获取所述资源请求事件触发页面视图控件产生的请求任务;
[0012]在所述请求任务为自定义请求类型的情况下,从本地存储的资源文件中获取所述请求任务所需的资源;
[0013]将所述请求任务所需的资源返回给页面视图控件;
[0014]页面视图控件利用所述请求任务所需的资源进行页面渲染。
[0015]本申请实施例还提供一种计算机程序产品,包括计算机指令;当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述资源加载和/或页面渲
染方法中的步骤。
[0016]本申请实施例还提供一种计算机设备,包括:存储器和处理器;所述存储器,用于存储计算机程序;
[0017]所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行上述资源加载和/或页面渲染方法中的步骤。
[0018]本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述资源加载和/或页面渲染方法中的步骤。
[0019]在本申请实施例中,利用钩子技术将页面视图控件中的请求注册函数,替换为支持自定义请求类型在页面视图控件中进行注册的新的请求注册函数;这样,可在页面视图控件中注册自定义请求类型。在实际使用过程中,可在监测到自定义请求类型的网络请求任务时,从本地存储的资源文件中加载网络请求任务所需的资源,实现了网络资源的离线加载,而且该过程只需在初始化阶段对页面视图控件中的请求注册函数进行hook处理,在实际资源加载过程中无需对资源进行频繁转码,降低了资源加载过程中对内存的占用,有助于提高资源加载效率。
附图说明
[0020]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0021]图1为本申请实施例提供的计算机程序产品的系统架构示意图;
[0022]图2为本申请实施例提供的资源加载方法的流程示意图;
[0023]图3为本申请实施例提供的页面渲染方法的流程示意图;
[0024]图4为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
[0025]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0026]在现有技术中,离线资源加载方法对客户端性能的影响较大,超大资源在频繁转码过程中占用大量内存,极易导致应用程序崩溃。针对上述技术问题,在本申请一些实施例中,利用钩子技术将页面视图控件中的请求注册函数,替换为支持自定义请求类型在页面视图控件中进行注册的新的请求注册函数;这样,可在页面视图控件中注册自定义请求类型。在实际使用过程中,可在监测到自定义请求类型的网络请求任务时,从本地存储的资源文件中加载网络请求任务所需的资源,实现了网络资源的离线加载,而且该过程只需在初始化阶段对页面视图控件中的请求注册函数进行hook处理,在实际资源加载过程中无需对资源进行频繁转码,降低了资源加载过程中对内存的占用,有助于提高资源加载效率。
[0027]以下结合附图,详细说明本申请各实施例提供的技术方案。
[0028]应注意到:相同的标号在下面的附图以及实施例中表示同一物体,因此,一旦某一
物体在一个附图或实施例中被定义,则在随后的附图和实施例中不需要对其进行进一步讨论。
[0029]图1为本申请实施例提供的计算机程序产品的软件系统的架构示意图。可选地,本实施例提供的计算机程序产品可运行于应用程序中,对应用程序的网络页面进行渲染。其中,应用程序可为免安装应用,如小程序等。免安装应用是指无需下载安装即可使用的应用。该软件系统可运行在计算机设备上。计算机设备可为智能手机、平板电脑、智能穿戴设备、电脑等终端设备。或者,应用程序也可为其它存在上述资源加载内存占用较大的技术问题的应用,如客户端、APP等等。本实施例提供的计算机程序产品实现对网络页面的渲染与显示。其中,网络页面渲染所需的资源可包括渲染页面的代码,如JS代码、CSS代码等;还可包括页面上显示的信息,如文本数据、图片数据等,但不限于此。
[0030]为了解决应用程序的资源包的下载耗时问题,软件系统可先把应用程序依赖的资源文件等下载安装到软件系统所在的终端设备进行存储。在一些实施例中,应用程序尚未在计算机设备上运行过,则本实施例提供的计算机程序产品,可响应于针对应用程序的触发操作,获取该应用程序对应的资源;将应用程序对应的资源作为本地存储的资源文件,存储在计算机设备本地。具体地,可响应于针对应用程序的触发操作,从服务端获取应用程序对应的资源。应用程序为本实施例提供的计算机程序产品所运行的应用程序。可选地,本实施例提供的计算机程序产品可以插件或功能模块的形式运行在应用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种资源加载方法,其中,包括:利用钩子技术将页面视图控件中的第一请求注册函数替换为第二请求注册函数;所述第一请求注册函数不支持在页面视图控件中注册自定义请求类型;所述第二请求注册函数支持在页面视图控件中注册所述自定义请求类型;将通过所述第二请求注册函数检测的自定义请求类型,注册在所述页面视图控件中;在监测到所述自定义请求类型的网络请求任务时,从本地存储的资源文件中加载所述网络请求任务所需的资源。2.根据权利要求1所述的方法,其中,所述将通过所述第二请求注册函数检测的自定义请求类型,注册在所述页面视图控件中,包括:利用所述钩子技术捕获待注册的请求类型,将所述待注册的请求类型输入所述第二请求注册函数;利用所述第二请求注册函数对所述待注册的请求类型进行检测;若所述待注册的请求类型通过所述第二请求注册函数检测,确定所述待注册的请求类型为所述自定义请求类型,并在所述页面视图控件中注册所述自定义请求类型。3.根据权利要求2所述的方法,其中,所述在所述页面视图控件中注册所述待注册的请求类型,包括:调用所述页面视图控件中的配置代理函数;利用所述配置代理函数,在所述页面视图控件中注册所述待注册的请求类型。4.根据权利要求1所述的方法,其中,还包括:调用所述页面视图控件的请求处理类监测所述页面视图控件是否产生请求任务;若监测到所述页面视图控件产生请求任务,则判断所述请求任务的请求类型是否为注册的自定义请求类型;若判断结果为是,则确定监测到所述自定义请求类型的网络请求任务。5.根据权利要求4所述的方法,其中,还包括:从所述请求任务的请求对象中获取所述请求任务对应的统一资源定位符;根据所述请求任务对应的统一资源定位符,确定所述请求任务的请求类型。6.根据权利要求1所述的方法,其中,还包括:拦截所述...

【专利技术属性】
技术研发人员:郭朝阳
申请(专利权)人:阿里巴巴新加坡控股有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1