一种小程序性能检测方法、装置、电子设备及介质制造方法及图纸

技术编号:37508411 阅读:36 留言:0更新日期:2023-05-07 09:47
本公开提供了一种小程序性能检测方法、装置、电子设备及介质,涉及计算机技术领域,尤其涉及小程序技术领域。具体实现方案为:在利用浏览器渲染小程序页面的过程中,向浏览器发送第一监听请求,其中,第一监听请求用于请求在小程序页面的状态满足预设条件时,向小程序发送第一监听响应。在接收到第一监听响应时,获取小程序页面的当前页面信息,并根据当前页面信息确定小程序的第一绘制时长,其中第一绘制时长为小程序页面中首次渲染出主要内容的时长。从而实现了在开源场景下评估小程序的性能与稳定性。与稳定性。与稳定性。

【技术实现步骤摘要】
一种小程序性能检测方法、装置、电子设备及介质


[0001]本公开涉及计算机
,尤其涉及小程序


技术介绍

[0002]智能小程序能够应用在各类宿主环境中,例如应用在手机应用程序(Application,APP)、车载系统以及物联网(Internet of Things,IoT)设备中。与传统的应用程序相比,智能小程序能够实现用户无感知安装,即点即用,使用更加方便。

技术实现思路

[0003]本公开提供了一种小程序性能检测方法、装置、电子设备及介质。
[0004]本公开实施例的第一方面,提供了一种小程序性能检测方法,应用于小程序,包括:
[0005]在利用浏览器渲染小程序页面的过程中,向所述浏览器发送第一监听请求,所述第一监听请求用于请求在所述小程序页面的状态满足预设条件时,向所述小程序发送第一监听响应;
[0006]在接收到所述第一监听响应时,获取所述小程序页面的当前页面信息;
[0007]根据所述当前页面信息确定所述小程序的第一绘制时长,所述第一绘制时长为所述小程序页面中首次渲染出主要内容的时长。
[0008]本公开实施例的第二方面,提供了一种小程序性能检测装置,应用于小程序,包括:
[0009]发送模块,用于在利用浏览器渲染小程序页面的过程中,向所述浏览器发送第一监听请求,所述第一监听请求用于请求在所述小程序页面的状态满足预设条件时,向所述小程序发送第一监听响应;
[0010]获取模块,用于在接收到所述第一监听响应时,获取所述小程序页面的当前页面信息;
[0011]确定模块,根据所述获取模块获取的所述当前页面信息确定所述小程序的第一绘制时长,所述第一绘制时长为所述小程序页面中首次渲染出主要内容的时长。
[0012]本公开实施例的第三方面,提供了一种电子设备,包括:
[0013]至少一个处理器;以及
[0014]与所述至少一个处理器通信连接的存储器;其中,
[0015]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面中任一项所述的小程序性能检测方法。
[0016]本公开实施例的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面中任一项所述的小程序性能检测方法。
[0017]本公开实施例的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现第一方面中任一项所述的小程序性能检测方法。
[0018]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0019]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0020]图1是本公开实施例提供的小程序性能检测方法的第一种流程图;
[0021]图2是本公开实施例提供的小程序性能检测方法的第二种流程图;
[0022]图3是本公开实施例提供的小程序性能检测方法的第三种流程图;
[0023]图4是本公开实施例提供的一种小程序性能检测装置的结构示意图;
[0024]图5是用来实现本公开实施例的小程序性能检测方法的电子设备的框图。
具体实施方式
[0025]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0026]智能小程序采用基于全球广域网(World Wide Web,Web)前端开发的技能及生态的开发模式,与传统的客户端技术相比,提高了开发效率。目前,一般可使用第一绘制时长和第二绘制时长等指标来衡量小程序的性能和稳定性。其中,第一绘制时长为小程序页面中首次渲染出主要内容的时长,第一绘制时长也可以称为首次有意义的绘制(First Meaningful Paint,FMP)。第二绘制时长为小程序页面中首次渲染出可见内容的时长,第二绘制时长也可以称为首次有内容的绘制(First Contentful Paint,FCP)。
[0027]获取第一绘制时长时,安卓客户端依赖定制的T7浏览内核,T7浏览内核对小程序页面的处理包括解析、布局和绘制阶段。在进入绘制阶段时,T7浏览内核跟踪已布局的页面内容的高度,以检查已布局的页面内容的高度是否达到屏幕高度。在已布局的页面内容的高度达到屏幕高度之前,可以暂停绘制,继续解析和布局的迭代。在检测到已布局的页面内容的高度达到屏幕高度时,T7浏览内核将当前时间戳减去用户打开小程序的时间戳,得到第一绘制时长。由于一些客户端明确使用自有内核或者系统原生内核,不接受小程序定制化浏览内核,而自有内核和系统原生内核不提供计算第一绘制时长的接口,使得这些安卓客户端无法通过该方式获取小程序的第一绘制时长。
[0028]而且,在苹果公司开发的操作系统(IOS)客户端中,IOS客户端监听滚动网页视图(WKWebView.scrollView)的可视区域内容(ContentSize)高度和网页视图(WebView)的帧(frame)高度,当满足内容高度变化呈上升趋势并且内容高度大于WebView的frame高度变化的最大值时,基于当前时间戳得到第一绘制时长。但WKWebView是IOS客户端专有工具,其他客户端不具备,因此其他客户端无法通过该方式确定小程序的第一绘制时长。
[0029]由于开源场景下,小程序可以应用在各种客户端中,但无法得到部分客户端中运行的小程序的第一绘制时长,导致开源场景下难以评估小程序的性能与稳定性。
[0030]为了在开源场景下评估小程序的性能与稳定性,本公开实施例提供了一种小程序性能检测方法,该方法应用于小程序,小程序运行于客户端中,客户端安装于终端,例如终端可以是手机、平板电脑、电视或者车载终端等。如图1所示,该方法包括如下步骤:
[0031]S101、在利用浏览器渲染小程序页面的过程中,向浏览器发送第一监听请求。
[0032]其中,第一监听请求用于请求在小程序页面的状态满足预设条件时,向小程序发送第一监听响应。
[0033]本公开实施例中,小程序在利用浏览器渲染小程序页面的过程中,可以调用浏览器的第一编程接口,并通过第一编程接口向浏览器发送第一回调函数,从而向浏览器发送第一监听请求,第一监听请求包括第一回调函数。以使得浏览器在确定小程序页面的状态满足预设条件时,调用第一回调函数,从而向小程序发送第一监听响应。其中,第一编程接口为浏览器的一个应用程序编程接口(Application Programming Interface,API)。
[0034]其中,浏览器运行于上本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种小程序性能检测方法,应用于小程序,包括:在利用浏览器渲染小程序页面的过程中,向所述浏览器发送第一监听请求,所述第一监听请求用于请求在所述小程序页面的状态满足预设条件时,向所述小程序发送第一监听响应;在接收到所述第一监听响应时,获取所述小程序页面的当前页面信息;根据所述当前页面信息确定所述小程序的第一绘制时长,所述第一绘制时长为所述小程序页面中首次渲染出主要内容的时长。2.根据权利要求1所述的方法,其中,在所述第一监听请求为刷新监听请求的情况下,所述预设条件包括所述小程序页面的刷新状态处于下一次刷新页面的前一时刻;或者,在所述第一监听请求为变化监听请求的情况下,所述预设条件包括所述小程序页面中的文档元素节点发生变化。3.根据权利要求2所述的方法,其中,所述当前页面信息包括当前页面内容高度;所述根据所述当前页面信息确定所述小程序的第一绘制时长,包括:对比所述当前页面内容高度与所述终端的显示区域高度;若通过对比得到所述当前页面内容高度达到所述终端的显示区域高度,则将当前时刻与所述小程序的启动时刻之间的时间间隔作为所述第一绘制时长。4.根据权利要求1所述的方法,其中,在所述第一监听请求为交叉监听请求的情况下,所述预设条件包括所述小程序页面内的预设占位元素与所述终端的显示区域产生交集。5.根据权利要求4所述的方法,其中,所述当前页面信息包括所述预设占位元素与所述终端的显示区域的当前交集区域高度;所述根据所述当前页面信息确定所述小程序的第一绘制时长,包括:根据所述当前交集区域高度和所述预设占位元素高度,确定所述交集区域在所述预设占位元素中的当前交叉比例;对比所述当前交叉比例与预设比例;若通过对比得到所述当前交叉比例达到所述预设比例,则将当前时刻与所述小程序的启动时刻之间的时间间隔作为所述第一绘制时长。6.根据权利要求1

5任一项所述的方法,所述方法还包括:在利用所述浏览器渲染所述小程序页面之前,向所述浏览器发送第二监听请求,所述第二监听请求用于请求在所述小程序页面中存在任一可见内容时,向所述小程序发送第二监听响应;在接收到所述第二监听响应时,确定所述小程序的第二绘制时长,所述第二绘制时长为所述小程序页面中首次渲染出可见内容的时长。7.根据权利要求6所述的方法,在所述向所述浏览器发送第一监听请求之后,所述方法还包括:若在所述小程序启动后的预设时长内未确定出所述第一绘制时长,则确定所述第一绘制时长与所述第二绘制时长相等。8.一种小程序性能检测装置,应用于小程序,包括:发送模块,用于在利用浏览器渲染小程序页面的过程中,向所述浏览器发送第一监听请求,所述第一监听请求用于请求在所述小程序页面的状态满足预设条件时,向所述小程
序发送第一监听响应;获取模块,用于在接收到所述第一监听响应时,获取所述小程序页面的当前页面信息;确定模块...

【专利技术属性】
技术研发人员:黄悠然孙微
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:

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

1