页面加载方法、装置、电子设备及存储介质制造方法及图纸

技术编号:33529258 阅读:13 留言:0更新日期:2022-05-19 01:56
本公开关于一种页面加载方法、装置、电子设备及存储介质,该方法包括:响应于针对目标页面的加载请求,加载并渲染所述目标页面的基础元素,然后分多个加载周期完成目标页面的各个业务组件的加载和渲染,其中,在每个加载周期内,目标页面的至少一个业务组件加载完成后,渲染加载完成的至少一个业务组件。通过采用分步加载的方法,先加载并渲染目标页面的基础元素,以便能够及时响应用户的页面加载请求,然后,再分多个加载周期完成目标页面的各个业务组件的加载和渲染,且在每个加载周期内,目标页面的至少一个业务组件加载完成后,立即渲染加载完成的至少一个业务组件,从而能够分多步逐渐加载完成目标页面的多个功能,提升用户的使用体验。升用户的使用体验。升用户的使用体验。

【技术实现步骤摘要】
页面加载方法、装置、电子设备及存储介质


[0001]本公开涉及页面加载技术,尤其涉及一种页面加载方法、装置、电子设备及存储介质。

技术介绍

[0002]在APP中,打开页面时,通常会初始化页面的所有必须组件,当页面功能较多时,需要初始化的组件也会急剧增加,导致页面打开速度较慢,用户会觉得APP响应慢或者卡顿,影响用户的使用体验。
[0003]相关技术中,可利用设备的多线程能力,使用异步加载的方法,每一个线程加载一组任务,以减少主线程耗时,保证依赖主线程的用户操作及时响应,然而,涉及到UI方面的组件较多的应用场景中,比如直播业务,需要在主线程进行初始化,难以利用到多线程能力,无法使用异步加载的方法,导致页面打开速度较慢,影响用户的使用体验。

技术实现思路

[0004]本公开提供一种页面加载方法、装置、电子设备及存储介质,以至少解决相关技术中页面打开速度较慢的问题。本公开的技术方案如下:
[0005]根据本公开实施例的第一方面,提供一种页面加载方法,包括:
[0006]响应于针对目标页面的加载请求,加载并渲染所述目标页面的基础元素;
[0007]分多个加载周期完成所述目标页面的各个业务组件的加载和渲染;其中,在每个加载周期内,所述目标页面的至少一个业务组件加载完成后,渲染所述加载完成的至少一个业务组件。
[0008]可选地,在分多个加载周期完成所述目标页面的各个业务组件的加载和渲染之前,所述方法还包括:
[0009]获取刷新帧率;
[0010]根据所述刷新帧率,确定每个加载周期的周期总时长。
[0011]可选地,分多个加载周期完成所述目标页面的各个业务组件的加载和渲染,包括:
[0012]根据所述周期总时长,确定第一加载时长阈值;
[0013]在每个加载周期内,按照多个业务组件的加载顺序,依次加载所述业务组件;
[0014]在每个业务组件加载完成后,获取当前加载周期的累积加载时长;
[0015]当所述累积加载时长大于所述第一加载时长阈值时,停止当前周期内的所述业务组件的加载,并在当前周期内渲染所述加载完成的至少一个业务组件。
[0016]可选地,分多个加载周期完成所述目标页面的各个业务组件的加载和渲染,包括:
[0017]根据所述周期总时长,确定第二加载时长阈值;
[0018]根据当前终端的性能参数,确定每个业务组件的加载耗时;
[0019]根据所述第二加载时长阈值、每个业务组件的加载耗时以及多个业务组件的加载顺序,将多个业务组件分为按序排列的多组;
[0020]按照每组业务组件的排列顺序,在每一加载周期内加载一组业务组件;
[0021]在每个加载周期内,所述目标页面的一组业务组件加载完成后,渲染所述加载完成的一组业务组件。
[0022]可选地,分多个加载周期完成所述目标页面的各个业务组件的加载和渲染,包括:
[0023]分多个加载周期利用主线程依次完成所述目标页面的各个业务组件的加载和渲染,其中,在每个加载周期内,所述目标页面的至少一个业务组件加载完成后,释放主线程,以便渲染所述加载完成的至少一个业务组件。
[0024]根据本公开实施例的第二方面,提供一种页面加载装置,包括:
[0025]第一加载模块,被配置为响应于针对目标页面的加载请求,加载并渲染所述目标页面的基础元素;
[0026]第二加载模块,被配置为分多个加载周期完成所述目标页面的各个业务组件的加载和渲染;其中,在每个加载周期内,所述目标页面的至少一个业务组件加载完成后,渲染所述加载完成的至少一个业务组件。
[0027]可选地,在所述第二加载模块之前,所述装置还包括:
[0028]获取模块,被配置为确定模块,被配置为获取刷新帧率;
[0029]确定模块,被配置为根据所述刷新帧率,确定每个加载周期的周期总时长。
[0030]可选地,所述第二加载模块,包括:
[0031]第一确定子模块,被配置为根据所述周期总时长,确定第一加载时长阈值;
[0032]第一加载子模块,被配置为在每个加载周期内,按照多个业务组件的加载顺序,依次加载所述业务组件;
[0033]获取子模块,被配置为在每个业务组件加载完成后,获取当前加载周期的累积加载时长;
[0034]停止子模块,被配置为当所述累积加载时长大于所述第一加载时长阈值时,停止当前周期内的所述业务组件的加载,并在当前周期内渲染所述加载完成的至少一个业务组件。
[0035]可选地,所述第二加载模块,包括:
[0036]第二确定子模块,被配置为根据所述周期总时长,确定第二加载时长阈值;
[0037]第三确定子模块,被配置为根据当前终端的性能参数,确定每个业务组件的加载耗时;
[0038]分组子模块,被配置为根据所述第二加载时长阈值、每个业务组件的加载耗时以及多个业务组件的加载顺序,将多个业务组件分为按序排列的多组;
[0039]第二加载子模块,被配置为按照每组业务组件的排列顺序,在每一加载周期内加载一组业务组件;
[0040]渲染子模块,被配置为在每个加载周期内,所述目标页面的一组业务组件加载完成后,渲染所述加载完成的一组业务组件。
[0041]可选地,所述第二加载模块,包括:
[0042]分多个加载周期利用主线程依次完成所述目标页面的各个业务组件的加载和渲染,其中,在每个加载周期内,所述目标页面的至少一个业务组件加载完成后,释放主线程,以便渲染所述加载完成的至少一个业务组件。
[0043]根据本公开实施例的第三方面,提供一种电子设备,包括:
[0044]处理器;
[0045]用于存储所述处理器可执行指令的存储器;
[0046]其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的页面加载方法。
[0047]根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的页面加载方法。
[0048]根据本公开实施例的第五方面,提供一种计算机程序产品,该计算机程序产品包括可读性程序代码,该可读性程序代码由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的页面加载方法。
[0049]本公开的实施例提供的技术方案至少带来以下有益效果:
[0050]本公开通过响应于针对目标页面的加载请求,加载并渲染所述目标页面的基础元素,然后分多个加载周期完成目标页面的各个业务组件的加载和渲染,其中,在每个加载周期内,目标页面的至少一个业务组件加载完成后,渲染加载完成的至少一个业务组件。通过采用分步加载的方法,先加载并渲染目标页面的基础元素,以便能够及时响应用户的页面加载请求,然后,再分多个加载周期完成目标页面的各个业务组件的加载和渲染,且在每个加载周期内,目标页面的至少一个业务组件加载完成后,立即渲染加载完成的至少一个业本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种页面加载方法,其特征在于,所述方法包括:响应于针对目标页面的加载请求,加载并渲染所述目标页面的基础元素;分多个加载周期完成所述目标页面的各个业务组件的加载和渲染;其中,在每个加载周期内,所述目标页面的至少一个业务组件加载完成后,渲染所述加载完成的至少一个业务组件。2.根据权利要求1所述的方法,其特征在于,在分多个加载周期完成所述目标页面的各个业务组件的加载和渲染之前,所述方法还包括:获取刷新帧率;根据所述刷新帧率,确定每个加载周期的周期总时长。3.根据权利要求2所述的方法,其特征在于,分多个加载周期完成所述目标页面的各个业务组件的加载和渲染,包括:根据所述周期总时长,确定第一加载时长阈值;在每个加载周期内,按照多个业务组件的加载顺序,依次加载所述业务组件;在每个业务组件加载完成后,获取当前加载周期的累积加载时长;当所述累积加载时长大于所述第一加载时长阈值时,停止当前周期内的所述业务组件的加载,并在当前周期内渲染所述加载完成的至少一个业务组件。4.根据权利要求2所述的方法,其特征在于,分多个加载周期完成所述目标页面的各个业务组件的加载和渲染,包括:根据所述周期总时长,确定第二加载时长阈值;根据当前终端的性能参数,确定每个业务组件的加载耗时;根据所述第二加载时长阈值、每个业务组件的加载耗时以及多个业务组件的加载顺序,将多个业务组件分为按序排列的多组;按照每组业务组件的排列顺序,在每一加载周期内加载一组业务组件;在每个加载周期内,所述目标页面的一组业务组件加载完成后,渲染所述加载完成的一组业务组件。5.根据权利要求1

4任一所述的方法,其特征在于,分多个加载周期完成所述目标页面的各个业务组件的加载和渲染,包括:分多个加载周...

【专利技术属性】
技术研发人员:刘桂林李浩程志高新川
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

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

1