小程序的页面渲染方法、装置、电子设备和存储介质制造方法及图纸

技术编号:35936315 阅读:18 留言:0更新日期:2022-12-14 10:23
本公开提供了一种小程序的页面渲染方法、装置、电子设备和存储介质,涉及小程序技术领域,尤其涉及小程序页面渲染技术领域。具体实现方案为:小程序的共享存储空间中部署有在逻辑层和视图层之间共享的资源,方法包括:逻辑层从共享存储空间中获取用于渲染页面的渲染代码;逻辑层执行渲染代码;逻辑层基于渲染代码,向视图层发送渲染指令;视图层响应于渲染指令,从共享存储空间中获取用于渲染页面的容器;视图层通过容器对n个目标页面进行渲染。由此,逻辑层和视图层之间可通过共享存储空间来共享资源,可通过一个容器对至少一个目标页面进行渲染,大大减少了容器数量,有助于节省小程序占用的内存资源,提高了小程序的适用性。提高了小程序的适用性。提高了小程序的适用性。

【技术实现步骤摘要】
小程序的页面渲染方法、装置、电子设备和存储介质


[0001]本公开涉及计算机
,尤其涉及一种小程序的页面渲染方法、装置、电子设备、存储介质和计算机程序产品。

技术介绍

[0002]小程序是一种不需要下载安装即可使用的应用程序,用户通过扫描二维码、搜索等方式就可打开小程序。目前,小程序具有使用方便、占用空间小等优点,得到了广泛的应用,方便了人们日常生活,比如,用户可使用小程序点餐、购物等。然而,相关技术中,小程序占用的内存资源较多。

技术实现思路

[0003]本公开提供了一种小程序的页面渲染方法、装置、电子设备、存储介质和计算机程序产品。
[0004]根据本公开的一方面,提供了一种小程序的页面渲染方法,小程序包括逻辑层和视图层,所述小程序的共享存储空间中部署有在所述逻辑层和所述视图层之间共享的资源,所述方法包括:所述逻辑层从所述共享存储空间中获取用于渲染页面的渲染代码;所述逻辑层执行所述渲染代码;所述逻辑层基于所述渲染代码,向所述视图层发送渲染指令;所述视图层响应于所述渲染指令,从所述共享存储空间中获取用于渲染页面的容器;所述视图层通过所述容器对n个目标页面进行渲染,其中,n为正整数。
[0005]根据本公开的另一方面,提供了一种小程序的页面渲染装置,小程序包括逻辑层和视图层,所述小程序的共享存储空间中部署有在所述逻辑层和所述视图层之间共享的资源,所述装置包括:第一获取模块,用于从所述共享存储空间中获取用于渲染页面的渲染代码;执行模块,用于执行所述渲染代码;发送模块,用于基于所述渲染代码,向所述视图层发送渲染指令;第二获取模块,用于响应于所述渲染指令,从所述共享存储空间中获取用于渲染页面的容器;渲染模块,用于通过所述容器对n个目标页面进行渲染,其中,n为正整数。
[0006]根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行小程序的页面渲染方法。
[0007]根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行小程序的页面渲染方法。
[0008]根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现小程序的页面渲染方法的步骤。
[0009]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0010]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0011]图1是根据本公开第一实施例的小程序的页面渲染方法的流程示意图;
[0012]图2是根据本公开第二实施例的小程序的页面渲染方法的流程示意图;
[0013]图3是根据本公开第三实施例的小程序的页面渲染方法的流程示意图;
[0014]图4是根据本公开第四实施例的小程序的页面渲染方法的流程示意图;
[0015]图5是根据本公开第五实施例的小程序的页面渲染方法的流程示意图;
[0016]图6是根据本公开第六实施例的小程序的页面渲染方法的示意图;
[0017]图7是根据本公开第七实施例的小程序的页面渲染方法中小程序的示意图;
[0018]图8是根据本公开第一实施例的小程序的页面渲染装置的框图;
[0019]图9是用来实现本公开实施例的小程序的页面渲染方法的电子设备的框图。
具体实施方式
[0020]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0021]小程序是一种不需要下载安装即可使用的应用程序,用户通过扫描二维码、搜索等方式就可打开小程序,具有使用方便、占用空间小、开发成本低等优点,得到了广泛的应用。目前,小程序大多采用双线程结构,逻辑层和视图层分离,运行在不同的线程。
[0022]小程序页面渲染通常包括WebView(网页视图)渲染方式和NAview(原生视图)渲染方式(可简称原生渲染方式)。目前,视图层在进行多个页面的渲染时,需要为每个页面创建一个容器,并基于自身的虚拟机为每个页面创建一个线程。
[0023]图1是根据本公开第一实施例的小程序的页面渲染方法的流程示意图。
[0024]如图1所示,本公开第一实施例的小程序的页面渲染方法,包括:
[0025]S101,逻辑层从共享存储空间中获取用于渲染页面的渲染代码。
[0026]本公开的实施例中,小程序包括逻辑层和视图层,小程序的共享存储空间中部署有在逻辑层和视图层之间共享的资源。应说明的是,小程序具有共享存储空间,共享存储空间中部署有在逻辑层和视图层之间共享的资源,即逻辑层和视图层之间可通过共享存储空间来共享资源。对共享存储空间的存储结构、存储位置、共享的资源均不做过多限定。比如,共享存储空间部署在逻辑层和/或视图层。
[0027]需要说明的是,逻辑层、视图层对共享存储空间均具有操作权限,其中,操作权限至少包括从共享存储空间中获取共享的资源。在一种实施方式中,操作权限还包括将共享的资源存储在共享存储空间中。
[0028]本公开的实施例中,共享存储空间中部署有用于渲染页面的渲染代码,即共享的资源包括渲染代码,逻辑层从共享存储空间中获取用于渲染页面的渲染代码。应说明的是,对渲染代码不做过多限定,比如,渲染代码包括用于渲染原生页面的原生渲染代码。
[0029]在一种实施方式中,共享存储空间中还部署有逻辑代码和开发者代码。
[0030]需要说明的是,对代码不做过多限定,比如,代码可采用C语言、C++、JS
(JavaScript,解释型或即时编译型的编程语言)等编程语言进行编写。
[0031]S102,逻辑层执行渲染代码。
[0032]S103,逻辑层基于渲染代码,向视图层发送渲染指令。
[0033]可以理解的是,渲染代码中定义了发送渲染指令的相关内容,则逻辑层可基于渲染代码,向视图层发送渲染指令。由此,逻辑层可直接向视图层发送渲染指令,以驱动视图层进行页面渲染,相较于相关技术中逻辑层向视图层发送数据的通信方式,有助于减小逻辑层和视图层之间的通信次数和通信耗时,进而提高了小程序的页面渲染速度。
[0034]需要说明的是,对渲染指令不做过多限定,比如,渲染指令可为JSON(JavaScript Object Notation,JS对象简谱)。
[0035]在一种实施方式中,逻辑层基于渲染代码,向视图层发送渲染指令,可包括逻辑层获取本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种小程序的页面渲染方法,小程序包括逻辑层和视图层,所述小程序的共享存储空间中部署有在所述逻辑层和所述视图层之间共享的资源,所述方法包括:所述逻辑层从所述共享存储空间中获取用于渲染页面的渲染代码;所述逻辑层执行所述渲染代码;所述逻辑层基于所述渲染代码,向所述视图层发送渲染指令;所述视图层响应于所述渲染指令,从所述共享存储空间中获取用于渲染页面的容器;所述视图层通过所述容器对n个目标页面进行渲染,其中,n为正整数。2.根据权利要求1所述的方法,其中,所述视图层通过所述容器对n个所述目标页面进行渲染,包括:所述视图层从所述容器中获取第i个目标页面对应的渲染资源,其中,1≤i≤n,i为正整数;所述视图层通过所述容器和所述第i个目标页面对应的渲染资源,对所述第i个目标页面进行渲染。3.根据权利要求2所述的方法,其中,所述方法还包括:所述视图层从所述小程序的存储空间中获取n个所述目标页面对应的渲染资源;所述视图层将n个所述目标页面对应的渲染资源分别存储在所述容器中。4.根据权利要求3所述的方法,其中,所述视图层将n个所述目标页面对应的渲染资源分别存储在所述容器中之后,还包括:所述视图层识别n个所述目标页面中的m个第一页面对应的渲染资源之间存在重合渲染资源,其中,2≤m≤n,m为正整数;所述视图层保留所述容器中的任一第一页面对应的所述重合渲染资源。5.根据权利要求3所述的方法,其中,所述视图层将n个所述目标页面对应的渲染资源分别存储在所述容器中,包括:所述视图层识别n个所述目标页面中的m个第一页面对应的渲染资源之间存在重合渲染资源,并识别每个所述第一页面对应的渲染资源中除所述重合渲染资源之外的差异渲染资源,其中,2≤m≤n,m为正整数;所述视图层将所述重合渲染资源和所述差异渲染资源分别存储在所述容器中。6.根据权利要求1所述的方法,其中,所述方法还包括:所述视图层获取所述目标页面上的设定事件;所述视图层将所述设定事件发送至所述逻辑层;所述逻辑层从所述共享存储空间中获取所述设定事件的处理代码;所述逻辑层执行所述处理代码,并基于所述处理代码,对所述设定事件进行处理。7.根据权利要求6所述的方法,其中,所述视图层部署有渲染引擎;其中,所述视图层将所述设定事件发送至所述逻辑层,包括:所述视图层通过所述渲染引擎将所述设定事件发送至所述逻辑层。8.根据权利要求6所述的方法,其中,所述方法还包括:所述逻辑层基于所述渲染代码和所述设定事件,生成所述设定事件对应的渲染指令,并向所述视图层发送所述渲染指令;所述视图层响应于所述渲染指令,对所述目标页面进行渲染。
9.根据权利要求1所述的方法,其中,所述视图层通过所述容器对n个所述目标页面进行渲染,包括:所述视图层从所述共享存储空间中获取虚拟机;所述视图层通过所述虚拟机,为所述容器创建线程;所述视图层执行所述线程,并在所述线程中通过所述容器,对n个所述目标页面进行渲染。10.根据权利要求1

9中任一项所述的方法,其中,所述视图层部署有渲染引擎;其中,所述逻辑层向所述视图层发送所述渲染指令,包括:所述逻辑层向所述渲染引擎发送所述渲染指令。11.根据权利要求10所述的方法,其中,所述视图层响应于所述渲染指令,从所述共享存储空间中获取所述容器,包括:所述渲染引擎响应于所述渲染指令,从所述共享存储空间中获取所述容器;其中,所述视图层通过所述容器对n个所述目标页面进行渲染,包括:所述渲染引擎通过所述容器对n个所述目标页面进行渲染。12.根据权利要求1

9中任一项所述的方法,其中,所述逻辑层向所述视图层发送所述渲染指令之前,还包括:所述逻辑层获取n个所述目标页面的渲染方式,并识别n个所述目标页面的渲染方式为原生渲染。13.一种小程序的页面渲染装置,小程序包括逻辑层和视图层,所述小程序的共享存储空间中部署有在所述逻辑层和所述视图层之间共享的资源,所述装置包括:第...

【专利技术属性】
技术研发人员:杨硕刘继伟宿爽王说梁长浩
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1