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

技术编号:28623569 阅读:12 留言:0更新日期:2021-05-28 16:19
本申请公开了一种基于小程序的页面渲染方法、装置、设备及存储介质,涉及计算机技术领域,进一步涉及软件开发与测试技术。具体实现方案为:根据待渲染页面的页面配置信息,从小程序运行时集成的原生渲染引擎和网页渲染引擎中确定所述待渲染页面的渲染引擎;采用所确定的渲染引擎,对所述待渲染页面进行渲染,能够解决现有小程序页面渲染导致小程序不流畅的问题,为小程序的页面渲染提供了一种新思路。

【技术实现步骤摘要】
基于小程序的页面渲染方法、装置、设备及存储介质
本申请涉及计算机
,尤其涉及软件开发与测试技术。
技术介绍
小程序是一种通过渲染层和逻辑层物理隔离的可纯离线工作的运行时生态。然而现有小程序主要通过网页(即WebView)方式实现对渲染层内容的呈现,而WebView作为渲染层容器对内存的占用较多,在低端机或IOT(InternetofThings,物联网)等内存受限的设备上,WebView对内存的开销较大,使得小程序运行并不流畅。
技术实现思路
本申请提供了一种基于小程序的页面渲染方法、装置、设备及存储介质。根据本申请的一方面,提供了一种基于小程序的页面渲染方法、该方法包括:根据待渲染页面的页面配置信息,从小程序运行时集成的原生渲染引擎和网页渲染引擎中确定所述待渲染页面的渲染引擎;采用所确定的渲染引擎,对所述待渲染页面进行渲染。根据本申请的另一方面,提供了一种基于小程序的页面渲染装置,该装置包括:引擎确定模块,用于根据待渲染页面的页面配置信息,从小程序运行时集成的原生渲染引擎和网页渲染引擎中确定所述待渲染页面的渲染引擎;渲染模块,用于采用所确定的渲染引擎,对所述待渲染页面进行渲染。根据本申请的另一方面,提供了一种电子设备,该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任一实施例所述的基于小程序的页面渲染方法。根据本申请的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行本申请任一实施例所述的基于小程序的页面渲染方法。根据本申请的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本申请任一实施例所述的基于小程序的页面渲染方法。根据本申请的技术,能够解决现有小程序页面渲染导致小程序不流畅的问题,为小程序的页面渲染提供了一种新思路。应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。附图说明附图用于更好地理解本方案,不构成对本申请的限定。其中:图1A是根据本申请实施例提供的一种基于小程序的页面渲染方法的流程图;图1B是根据本申请实施例提供的一种小程序运行时的结构示意图;图2是根据本申请实施例提供的一种小程序开发和运行过程的原理框图;图3是根据本申请实施例提供的另一种基于小程序的页面渲染方法的流程图;图4是根据本申请实施例提供的又一种基于小程序的页面渲染方法的流程图;图5是根据本申请实施例提供的一种基于小程序的页面渲染装置的结构示意图;图6是用来实现本申请实施例的基于小程序的页面渲染方法的电子设备的框图。具体实施方式以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1A是根据本申请实施例提供的一种基于小程序的页面渲染方法的流程图;图1B是根据本申请实施例提供的一种小程序运行时的结构示意图。本申请实施例适用于如何对小程序的页面进行渲染的情况。本实施例应用于小程序运行时,该实施例可以由基于小程序的页面渲染装置来执行,该装置可以采用软件和/或硬件来实现,该装置可集成于配置有小程序运行时的电子设备中。如图1A所示,该基于小程序的页面渲染方法包括:S101,根据待渲染页面的页面配置信息,从小程序运行时集成的原生渲染引擎和网页渲染引擎中确定待渲染页面的渲染引擎。本实施例中,对于用户而言,小程序可以是一种不需要下载安装即可使用的应用,例如可以是快递查询类小程序、学习类小程序以及视频播放类小程序等。小程序运行时实质是一个能够处理页面渲染、数据逻辑交互等的虚拟机,包括核心框架,比如swanjs框架。可以理解的是,宿主App(比如微信客户端)需要集成小程序运行时框架,才可运行小程序。可选的,如图1B所示,本实施例中的小程序运行时集成有逻辑层和渲染层(或者称视图层),渲染层进一步包括网页(即WebView)渲染层和原生(即Native)渲染层。其中,网页渲染层中集成有网页渲染引擎以及swanjs框架代码,原生渲染层中集成有原生渲染引擎以及原生swanjs框架代码;进一步的,原生渲染层的swanjs框架代码是在现有的网页渲染层的swanjs框架代码的基础上进行改进得到,具体可以包括复用现有的网页渲染层的swanjs框架代码中的API和组件能力,以及增加样式能力,样式中包括组件属性,原生渲染层的swanjs框架可支持的组件属性为网页渲染层的swanjs框架可支持的组件属性的子集。可选的,本实施例中的网页渲染引擎即WebView渲染引擎,用于对网页组件(即Web组件)进行渲染;原生渲染引擎即Native渲染引擎,用于对原生组件(即Native组件)进行渲染,本实施例中的原生渲染引擎具体可以是ReactNative或Flutter。所谓原生组件即为原生渲染层的swanjs框架可支持的组件;对应的,网页组件即为网页渲染层的swanjs框架可支持的组件。可选的,待渲染页面基于用户的触发操作确定。例如,用户在宿主App中点击小程序图标启动小程序,此时待渲染页面可以是该小程序默认显示页面;又如,小程序已启动,用户在该小程序当前显示页面中点击某一选项等所触发启动的页面。页面配置信息可存储于小程序的页面配置文件(即page.json文件)中。可选的,一个小程序可以具有多个页面,不同页面的页面配置信息可不同。具体的,对于小程序的任一页面,页面配置信息中可以包括对该页面的窗口表现的配置信息,以及对该页面进行渲染的渲染方式。可选的,渲染方式可以是开发者在开发小程序时依据页面需求、宿主App所在电子设备性能、小程序类型等配置的。进一步的,页面配置文件中具有“使能开关”配置项,用于配置渲染方式;其中,“使能开关”配置项的默认值为“false”,对应于网页渲染方式;进一步的,“使能开关”配置项的取值“true”,用于表征原生渲染方式。进一步的,本实施例在现有的逻辑层的swanjs框架的基础上,增加对原生渲染层和网页渲染层的动态切换能力。具体的,在本实施例中,当基于用户的触发操作确定待渲染页面后,小程序运行时中的逻辑层可以获取待渲染页面的页面配置信息,并对待渲染页面的页面配置信息进行解析,确定采用原生渲染引擎还是网页渲染引擎对待渲染页面进行渲染。进一步的,小程序运行时的逻辑层可以识别页面配置信息中“使能开关”配置项的取值,进而根据识别结果,确定采用原生渲染本文档来自技高网...

【技术保护点】
1.一种基于小程序的页面渲染方法,包括:/n根据待渲染页面的页面配置信息,从小程序运行时集成的原生渲染引擎和网页渲染引擎中确定所述待渲染页面的渲染引擎;/n采用所确定的渲染引擎,对所述待渲染页面进行渲染。/n

【技术特征摘要】
1.一种基于小程序的页面渲染方法,包括:
根据待渲染页面的页面配置信息,从小程序运行时集成的原生渲染引擎和网页渲染引擎中确定所述待渲染页面的渲染引擎;
采用所确定的渲染引擎,对所述待渲染页面进行渲染。


2.根据权利要求1所述的方法,其中,所述页面配置信息中包括所述待渲染页面的渲染方式,所述渲染方式基于所述待渲染页面的历史访问页面占比和/或开发者为所述待渲染页面配置的组件信息确定。


3.根据权利要求1所述的方法,其中,所述待渲染页面基于所述待渲染页面的渲染方式关联的组件编辑提示信息确定。


4.根据权利要求1所述的方法,其中,根据待渲染页面的页面配置信息,从小程序运行时集成的原生渲染引擎和网页渲染引擎中确定所述待渲染页面的渲染引擎,包括:
根据待渲染页面的页面配置信息,从小程序运行时集成的原生渲染引擎和网页渲染引擎中确定所述待渲染页面的渲染引擎;
根据所述待渲染页面的页面数量,对所确定的渲染引擎进行校验。


5.根据权利要求4所述的方法,其中,根据所述待渲染页面的页面数量,对所确定的渲染引擎进行校验,包括:
若所述待渲染页面的页面数量大于设定阈值,且所确定的渲染引擎为网页渲染引擎,则将所确定的渲染引擎调整为原生渲染引擎;
若所述待渲染页面的页面数量小于或等于设定阈值,则所述待渲染页面的渲染引擎为所确定的渲染引擎。


6.根据权利要求1所述的方法,其中,采用所确定的渲染引擎,对所述待渲染页面进行渲染,包括:
若所确定的渲染引擎为所述原生渲染引擎,则采用所述原生渲染引擎对所述待渲染页面中的原生组件进行渲染;
若所确定的渲染引擎为所述网页渲染引擎,则采用所述网页渲染引擎对所述待渲染页面中的网页组件进行渲染。


7.根据权利要求6所述的方法,其中,采用所述原生渲染引擎对所述待渲染页面中的原生组件进行渲染,包括:
采用原生渲染引擎关联的解析框架对渲染数据进行解析,得到渲染树,并根据所述渲染树,确定渲染指令;
采用所述原生渲染引擎基于所述渲染指令,对所述待渲染页面中的原生组件进行渲染。


8.一种基于小程序的页面渲染装置,包括:
引擎确定模块,用于根据待渲染页面的页面配置信息,从小程序运行时集成的原生渲染引擎和网页渲染引擎中确定所述待渲染页面的渲染引擎;
渲染模块,用于采用所确定的渲染引擎,对所述待渲染页面进行渲...

【专利技术属性】
技术研发人员:陈都刘浪宇
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1