CN111797339A - 页面渲染监控方法和装置 - Google Patents

页面渲染监控方法和装置 Download PDF

Info

Publication number
CN111797339A
CN111797339A CN201911081121.2A CN201911081121A CN111797339A CN 111797339 A CN111797339 A CN 111797339A CN 201911081121 A CN201911081121 A CN 201911081121A CN 111797339 A CN111797339 A CN 111797339A
Authority
CN
China
Prior art keywords
page
rendering
proportion
time
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911081121.2A
Other languages
English (en)
Inventor
侯俊勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201911081121.2A priority Critical patent/CN111797339A/zh
Publication of CN111797339A publication Critical patent/CN111797339A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开提出一种页面渲染监控方法和装置,涉及计算机技术领域。本公开的一种页面渲染监控方法,包括:记录进入当前页面的时刻作为渲染起始时刻;以预定频率获取当前页面的空白区域占当前页面的比例,并与预定比例阈值比较,记录比例小于预定比例阈值的时刻作为渲染完成时刻;根据渲染起始时刻和渲染完成时刻确定渲染时长,以便根据渲染时长进行页面优化。通过这样的方法,能够通过页面的空白区域占比确定渲染完成时刻,提高获得渲染完成时刻的准确性,从而提高渲染时长确定的准确性,为开发者进行界面优化提供更加准确的数据基础,保证页面渲染对用户的友好度。

Description

页面渲染监控方法和装置
技术领域
本公开涉及计算机技术领域,特别是一种页面渲染监控方法和装置。
背景技术
页面加载渲染时间是手机应用程序性能的一个重要指标。打开一个应用程序的界面的一般的流程是:发起网络请求,页面加载等待,请求结果回来之后,开始渲染至结束,这个时间段我们称之为页面加载渲染时间。用户对页面的加载渲染时间是有一定的忍受度,如果过久,可能会影响用户体验而流失用户,因此需要对页面加载渲染时间进行监测,以便开发者进行页面优化。
发明内容
本公开的一个目的在于提高渲染时长确定的准确度。
根据本公开的一些实施例的一个方面,提出一种页面渲染监控方法,包括:记录进入当前页面的时刻作为渲染起始时刻;以预定频率获取当前页面的空白区域占当前页面的比例,并与预定比例阈值比较,记录比例小于等于预定比例阈值的时刻作为渲染完成时刻;根据渲染起始时刻和渲染完成时刻确定渲染时长,以便根据渲染时长进行页面优化。
在一些实施例中,记录进入当前页面的时刻作为渲染起始时刻包括:通过当前页面的父类的类扩展,将原始的页面展示ViewDidAppear方法与自建页面展示方法交换,其中,自建页面展示方法具备记录进入当前页面的时刻的功能;通过调用自建页面展示方法获取渲染起始时刻。
在一些实施例中,获取当前页面的空白区域占当前页面的比例包括:对当前页面截图;遍历截图,获取每个像素的色值;获取每个色值出现的次数;按照出现次数从大到小的顺序确定预定数量的色值作为空白色值;确定空白色值所占比例,作为当前页面的空白区域占当前页面的比例。
在一些实施例中,获取当前页面的空白区域占当前页面的比例还包括:在截图后压缩图片尺寸到预定尺寸,遍历截图为遍历压缩后的截图。
在一些实施例中,页面渲染监控方法还包括:打开需要监控的页面,在收到渲染完成确认指令的情况下,确定页面的空白区域占页面的比例;执行预定次打开需要监控的页面并确定渲染完成的页面中空白区域占页面的比例的操作,获取平均比例作为预定比例阈值。
在一些实施例中,打开需要监控的页面,在收到渲染完成确认指令的情况下,确定页面的空白区域占页面的比例包括:在打开需要监控的页面时,调用自建页面展示方法添加对页面的监控;当用户触发发送渲染完成指令时,对当前页面截图,获取每个像素的色值,获取每个色值出现的次数,按照出现次数从大到小的顺序确定预定数量的色值作为空白色值,确定空白色值所占比例。
在一些实施例中,页面渲染监控方法还包括:在渲染时长大于预定渲染时长的情况下,向开发者发送页面优化指令,页面优化指令中包括页面标识。
通过这样的方法,能够通过页面的空白区域占比确定渲染完成时刻,提高获得渲染完成时刻的准确性,从而提高渲染时长确定的准确性,为开发者进行界面优化提供更加准确的数据基础,保证页面渲染对用户的友好度。
根据本公开的另一些实施例的一个方面,提出一种页面渲染监控装置,包括:起始时刻记录单元,被配置为记录进入当前页面的时刻作为渲染起始时刻;完成时刻记录单元,被配置为以预定频率获取当前页面的空白区域占当前页面的比例,并与预定比例阈值比较,记录比例小于等于预定比例阈值的时刻作为渲染完成时刻;时长确定单元,被配置为根据渲染起始时刻和渲染完成时刻确定渲染时长,以便根据渲染时长进行页面优化。
在一些实施例中,起始时刻记录单元被配置为:通过当前页面的父类的类扩展,将原始的页面展示ViewDidAppear方法与自建页面展示方法交换,其中,自建页面展示方法具备记录进入当前页面的时刻的功能;通过调用自建页面展示方法获取渲染起始时刻。
在一些实施例中,完成时刻记录单元被配置为:对当前页面截图;遍历截图,获取每个像素的色值;获取每个色值出现的次数;按照出现次数从大到小的顺序确定预定数量的色值作为空白色值;确定空白色值所占比例,作为当前页面的空白区域占当前页面的比例。
在一些实施例中,完成时刻记录单元还被配置:在截图后压缩图片尺寸到预定尺寸,遍历截图为遍历压缩后的截图。
在一些实施例中,页面渲染监控装置还包括阈值确定单元,被配置为:打开需要监控的页面,在收到渲染完成确认指令的情况下,确定页面的空白区域占页面的比例;执行预定次打开需要监控的页面并确定渲染完成的页面中空白区域占页面的比例的操作,获取平均比例作为预定比例阈值。
在一些实施例中,打开需要监控的页面,在收到渲染完成确认指令的情况下,确定页面的空白区域占页面的比例包括:在打开需要监控的页面时,调用自建页面展示方法添加对页面的监控;当用户触发发送渲染完成指令时,对当前页面截图,获取每个像素的色值,获取每个色值出现的次数,按照出现次数从大到小的顺序确定预定数量的色值作为空白色值,确定空白色值所占比例。
在一些实施例中,页面渲染监控装置还包括:优化提示单元,被配置为在渲染时长大于预定渲染时长的情况下,向开发者发送页面优化指令,页面优化指令中包括页面标识。
根据本公开的又一些实施例的一个方面,提出一种页面渲染监控装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行上文中任意一种页面渲染监控方法。
这样的装置能够通过页面的空白区域占比确定渲染完成时刻,提高获得渲染完成时刻的准确性,从而提高渲染时长确定的准确性,为开发者进行界面优化提供更加准确的数据基础,保证页面渲染对用户的友好度。
根据本公开的再一些实施例的一个方面,提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上文中任意一种页面渲染监控方法的步骤。
通过执行这样的计算机可读存储介质上的指令,能够提高获得渲染完成时刻的准确性,从而提高渲染时长确定的准确性,为开发者进行界面优化提供更加准确的数据基础,保证页面渲染对用户的友好度。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1为本公开的页面渲染监控方法的一些实施例的流程图。
图2为本公开的页面渲染监控方法的另一些实施例的流程图。
图3为本公开的页面渲染监控方法的又一些实施例的流程图。
图4为本公开的页面渲染监控装置的一些实施例的示意图。
图5为本公开的页面渲染监控装置的另一些实施例的示意图。
图6为本公开的页面渲染监控装置的又一些实施例的示意图。
具体实施方式
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
相关技术中监测页面加载渲染时间采用的方法为:当用户进入页面时记录一个时间点和请求完成数据被解析之后记录一个时间点,前者表示页面出现的时间,后者表示数据获取的时间,两者的差值表示页面加载渲染的时间。这样的方式并没有考虑数据被解析之后页面的渲染时间,且由于页面需要经常调整导致记录时间点的位置随着一起调整,容易出现错误的记录时间点。另外,有些页面有多个请求,例如商城的商品详情的页面,只有等所有网络请求回来之后,才开始渲染页面,因而请求过多而导致记录时间点计算繁琐。
本公开的页面渲染监控方法的一些实施例的流程图如图1所示。
在步骤101中,记录进入当前页面的时刻作为渲染起始时刻。在一些实施例中,在iOS应用程序中每个页面都是有生命周期的,这个过程中会调用一系列的方法来表示页面所处生命周期的阶段,打开页面出现在屏幕上,其实是指页面生命周期中的视图的出现,也就是页面生命周期中调用viewDidAppear方法时,记录调用viewDidAppear方法的时刻。
步骤102中,获取当前页面的空白区域占当前页面的比例。在一些实施例中,空白区域指纯色区域,可以为白色或其他颜色。在一些实施例中,空白区域可以为页面底色区域。在一些实施例中,可以统计空白区域的像素数,确定占页面总像素数的比例。
在步骤103中,将步骤102中确定的比例与预定比例阈值比较,判断是否小于等于预定比例阈值。若小于等于预定阈值,则执行步骤104。若大于预定阈值,则执行步骤102,在一些实施例中,可以延迟一定时间后执行步骤102,以保证步骤102的执行频率为预定频率。
在步骤104中,记录最后一次循环中计算空白区域占比的页面对应的时刻,作为渲染完成时刻。
在步骤105中,根据渲染起始时刻和渲染完成时刻确定渲染时长。在一些实施例中,渲染完成时刻与渲染起始时刻之差即为渲染时长。
通过这样的方法,能够通过页面的空白区域占比确定渲染完成时刻,提高获得渲染完成时刻的准确性,从而提高渲染时长确定的准确性,为开发者进行界面优化提供更加准确的数据基础,保证页面渲染对用户的友好度。
在一些实施例中,记录进入当前页面的时刻作为渲染起始时刻的方式可以如图2中步骤201~202所示。
在步骤201中,通过当前页面的父类的类扩展,将ViewDidAppear方法与自建页面展示方法my_ViewDidAppear交换。在一些实施例中,创建视图页面的父类的类扩展。重写父类的加载方法。父类的加载方法会在第一次被加进内存时调用,且仅调用一次。获取系统页面生命周期viewDidAppear方法,再获取自己声明的方法my_viewDidApper,然后交换两个方法。
在一些实施例中,加载方法伪代码可以如下所示:
Figure BDA0002263981110000061
在步骤202中,通过调用自建页面展示方法my_ViewDidAppear获取渲染起始时刻。在一些实施例中,my_ViewDidAppear可以在原始的ViewDidAppear方法基础上增加记录打开页面时间的功能。在一些实施例中,自建页面展示方法伪代码可以如下所示:
Figure BDA0002263981110000062
这样的方法考虑到iOS是动态语言,类型的判断、类的成员变量、方法的内存地址都是在程序的运行阶段才最终确定的,可以根据这一特性动态地给页面添加方法以及方法交换,能够在不侵入代码的情况下记录页面开始渲染的时刻,避免对代码维护造成困难,减少了开发者的工作量,提高了实现效率。
在一些实施例中,在页面渲染过程中,记录渲染完成时刻的方式可以如图2中步骤203到209所示。
在步骤203中,对当前页面截图,并记录截图的时间。在一些实施例中,可以通过iOS系统提供的API,使用UIView的中sanpshotViewAfterScreenUpdates截取当前页面。在一些实施例中,可以控制步骤203按照预定频率截取图,通过步骤204~208对截取的页面图像按照时间顺序依次处理,以免数据处理速度影响渲染完成时刻确定的准确度。
在步骤204中,遍历截图,对像素进行色值(R-G-B)分析,获取每个像素的色值。在一些实施例中,可以在截图后压缩图片尺寸到预定尺寸(如调用iOS系统提供的接口进行绘制压缩)后,获取压缩后的图片中每个像素的色值,从而提高处理速度,避免过度耗时。
在步骤205中,获取每个色值出现的次数。
在步骤206中,按照出现次数从大到小的顺序确定预定数量(如1~10个)的色值作为空白色值。
在步骤207中,确定空白色值所占比例,作为当前页面的空白区域占当前页面的比例。
在步骤208中,判断步骤207中确定的比例是否小于等于预定比例阈值。若大于预定比例阈值,则预计页面尚未加载完成,执行步骤203。在一些实施例中,还可以跳转至步骤204,按照截图生成的时间顺序处理已经按照预定频率截取并缓存的图片。
若比例小于预定比例阈值,则执行步骤209。
在步骤209中,确定步骤208的最后一次循环中处理的截图的截图时刻为渲染完成时刻。
通过这样的方法,能够通过逐像素的统计筛选出渲染过程中的背景色,避免背景色不同造成判断失误,提高页面渲染监控的普适性;能够通过调整预定数量控制空白色值的数量,从而能够适应各种页面的渲染,提高渲染完成时刻确定的准确度。
在一些实施例中,在获得渲染时长后,还可以如图2中步骤211~212所示,对渲染时长进行应用。
在步骤211中,将渲染时长与预定渲染时长比较。在渲染时长大于预定渲染时长的情况下,确定渲染时长过长,执行步骤212。
在步骤212中,向开发者发送页面优化指令。在一些实施例中,页面优化指令中可以包括页面标识,能够提示开发者哪个或者哪些页面的渲染时长过长,以便开发者对页面进行优化。
通过这样的方法,能够帮助开发者筛选出渲染时长过长的页面,从而方便开发者有针对性的进行优化,与全面优化相比降低了工作量,提高了优化的效率。
在一些实施例中,本公开的页面渲染监控方法可以如图2所示。通过步骤201~202获取渲染起始时刻,通过步骤203~209获取渲染完成时刻。在步骤210中,计算渲染完成时刻与渲染起始时刻之间的时长,获取渲染时长。通过步骤211~212给予开发者优化提示。
通过这样的方法,能够运用视图的空白占比,实时获取截图进行对比计算,进而替代页面手动写入时间点,可以更准确监控视图页面加载完成时间;通过运行时交换方法,对页面做到零代码侵入方案,而减少开发者的工作量;提高监测iOS页面加载渲染时间的准确度,以便开发者进行优化,给开发者优化页面提供了一个很好的监测手段。
在一些实施例中,预定比例阈值可以根据经验设置。在另一些实施例中,为提高预定比例阈值确定的准确性,可以先对页面进行分析处理,如图3所示。
在步骤301中,打开需要监控的页面。
在一些实施例中,打开的页面是同一个页面,由于页面是动态的,每次打开时渲染完成状态下的空白区域占比可能有所波动,为提高准确性,可以多次打开需要监控的页面,并在每次打开的情况下执行步骤302。
在另一些实施例中,在需要监控多个界面的情况下,可以打开不同的页面,以得到平均化的预定比例阈值,扩展适用范围。
在步骤302中,可以通过人工观察的方法确定页面渲染完成,触发渲染完成确认指令。在收到渲染完成确认指令的情况下,确定页面的空白区域占页面的比例。在一些实施例中,计算空白区域占页面的比例的过程可以如图2中步骤203~207所示。
在一些实施例中,可以添加监控视图,监控视图中包括操作键,通过触发不同的操作键分别实现开始监控、计算空白占比和关闭功能。为了方便操作监控视图需要将添加到页面的最上面,因而可以在主窗口(如iOS应用程序中的UIApplication.shareApplication.keyWindow)添加。
在一些实施例中,当页面出现在屏幕上时,可以触发开始监控,调用如上文中的my_viewDidAppear方法监控页面。当观察到页面渲染完成后,触发计算空白占比,计算渲染完成后页面的空白占比。在
在步骤303中,确定多次打开页面时,在渲染完成的情况下空白区域占页面的比例,存储各个占比数据,通过取均值确定预定比例阈值。
通过这样的方法,能够提高预定比例阈值确定的准确性,进而渲染完成时刻的准确性得到了进一步的提高。
本公开的页面渲染监控装置的一些实施例的示意图如图4所示。
起始时刻记录单元401能够记录进入当前页面的时刻作为渲染起始时刻。
完成时刻记录单元402能够获取当前页面的空白区域占当前页面的比例。在一些实施例中,空白区域指纯色区域,可以为白色或其他颜色。将确定的比例与预定比例阈值比较,若小于等于预定阈值,则记录最后一次计算空白区域占比的使用的页面对应的时刻,作为渲染完成时刻。
时长确定单元403能够根据渲染起始时刻和渲染完成时刻确定渲染时长。在一些实施例中,渲染完成时刻与渲染起始时刻之差即为渲染时长。
这样的装置能够通过页面的空白区域占比确定渲染完成时刻,提高获得渲染完成时刻的准确性,从而提高渲染时长确定的准确性,为开发者进行界面优化提供更加准确的数据基础,保证页面渲染对用户的友好度。
在一些实施例中,起始时刻记录单元401可以通过当前页面的父类的类扩展,将ViewDidAppear方法与自建页面展示方法my_ViewDidAppear交换。在一些实施例中,创建视图页面的父类的类扩展。重写父类的加载方法。父类的加载方法会在第一次被加进内存时调用,且仅调用一次。获取系统页面生命周期viewDidAppear方法,再获取自己声明的方法my_viewDidApper,然后交换两个方法的实现。通过调用自建页面展示方法获取渲染起始时刻。在一些实施例中,my_ViewDidAppear可以在原始的ViewDidAppear方法基础上增加记录打开页面时间的功能。
这样的装置考虑到iOS是动态语言,类型的判断、类的成员变量、方法的内存地址都是在程序的运行阶段才最终确定的,可以根据这一特性动态地给页面添加方法以及方法交换,能够在不侵入代码的情况下记录页面开始渲染的时刻,较少了开发者的工作量,提高了实现效率。
在一些实施例中,完成时刻记录单元402能够采用如图2中步骤203~209所示的方法确定渲染完成时刻。这样的装置能够通过逐像素的统计筛选出渲染过程中的背景色,避免背景色不同造成判断失误,提高页面渲染监控的普适性;能够通过调整预定数量控制空白色值的数量,从而能够适应各种页面的渲染,提高渲染完成时刻确定的准确度。
在一些实施例中,如图4所示,页面渲染监控装置还可以包括阈值确定单元404,能够先对页面进行分析处理,采用如图3所示实施例中的方式,确定预定比例阈值,从而能够提高预定比例阈值确定的准确性,进而渲染完成时刻的准确性得到了进一步的提高。
在一些实施例中,如图4所示,页面渲染监控装置还可以包括优化提示单元405,能够将渲染时长与预定渲染时长比较,在渲染时长大于预定渲染时长的情况下,确定渲染时长过长,向开发者发送页面优化指令。在一些实施例中,页面优化指令中可以包括页面标识,能够提示开发者哪个或者哪些页面的渲染时长过长,以便开发者对页面进行优化。
这样的装置能够帮助开发者筛选出渲染时长过长的页面,从而方便开发者有针对性的进行优化,与全面优化相比降低了工作量,提高了优化的效率。
本公开页面渲染监控装置的一个实施例的结构示意图如图5所示。页面渲染监控装置包括存储器501和处理器502。其中:存储器501可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储上文中页面渲染监控方法的对应实施例中的指令。处理器502耦接至存储器501,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器502用于执行存储器中存储的指令,能够提高渲染时长确定的准确性,为开发者进行界面优化提供更加准确的数据基础,保证页面渲染对用户的友好度。
在一个实施例中,还可以如图6所示,页面渲染监控装置600包括存储器601和处理器602。处理器602通过BUS总线603耦合至存储器601。该页面渲染监控装置600还可以通过存储接口604连接至外部存储装置605以便调用外部数据,还可以通过网络接口606连接至网络或者另外一台计算机系统(未标出)。此处不再进行详细介绍。
在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,能够提高渲染时长确定的准确性,为开发者进行界面优化提供更加准确的数据基础,保证页面渲染对用户的友好度。
在另一个实施例中,一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现页面渲染监控方法对应实施例中的方法的步骤。本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
最后应当说明的是:以上实施例仅用以说明本公开的技术方案而非对其限制;尽管参照较佳实施例对本公开进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本公开的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本公开技术方案的精神,其均应涵盖在本公开请求保护的技术方案范围当中。

Claims (16)

1.一种页面渲染监控方法,包括:
记录进入当前页面的时刻作为渲染起始时刻;
以预定频率获取当前页面的空白区域占当前页面的比例,并与预定比例阈值比较,记录所述比例小于等于预定比例阈值的时刻作为渲染完成时刻;
根据所述渲染起始时刻和所述渲染完成时刻确定渲染时长,以便根据所述渲染时长进行页面优化。
2.根据权利要求1所述的方法,其中,所述记录进入当前页面的时刻作为渲染起始时刻包括:
通过当前页面的父类的类扩展,将原始的页面展示ViewDidAppear方法与自建页面展示方法交换,其中,所述自建页面展示方法具备记录进入当前页面的时刻的功能;
通过调用所述自建页面展示方法获取所述渲染起始时刻。
3.根据权利要求1所述的方法,其中,所述获取当前页面的空白区域占当前页面的比例包括:
对当前页面截图;
遍历截图,获取每个像素的色值;
获取每个色值出现的次数;
按照出现次数从大到小的顺序确定预定数量的色值作为空白色值;
确定空白色值所占比例,作为当前页面的空白区域占当前页面的比例。
4.根据权利要求3所述的方法,其中,所述获取当前页面的空白区域占当前页面的比例还包括:
在截图后压缩图片尺寸到预定尺寸,所述遍历截图为遍历压缩后的截图。
5.根据权利要求1所述的方法,还包括:
打开需要监控的页面,在收到渲染完成确认指令的情况下,确定页面的空白区域占页面的比例;
执行预定次打开需要监控的页面并确定渲染完成的页面中空白区域占页面的比例的操作,获取平均比例作为所述预定比例阈值。
6.根据权利要求5所述的方法,其中,所述打开需要监控的页面,在收到渲染完成确认指令的情况下,确定页面的空白区域占页面的比例包括:
在打开需要监控的页面时,调用自建页面展示方法添加对页面的监控;
当用户触发发送渲染完成指令时,对当前页面截图,获取每个像素的色值,获取每个色值出现的次数,按照出现次数从大到小的顺序确定预定数量的色值作为空白色值,确定空白色值所占比例。
7.根据权利要求1所述的方法,还包括:
在所述渲染时长大于预定渲染时长的情况下,向开发者发送页面优化指令,所述页面优化指令中包括页面标识。
8.一种页面渲染监控装置,包括:
起始时刻记录单元,被配置为记录进入当前页面的时刻作为渲染起始时刻;
完成时刻记录单元,被配置为以预定频率获取当前页面的空白区域占当前页面的比例,并与预定比例阈值比较,记录所述比例小于等于预定比例阈值的时刻作为渲染完成时刻;
时长确定单元,被配置为根据所述渲染起始时刻和所述渲染完成时刻确定渲染时长,以便根据所述渲染时长进行页面优化。
9.根据权利要求8所述的装置,其中,所述起始时刻记录单元被配置为:
通过当前页面的父类的类扩展,将原始的页面展示ViewDidAppear方法与自建页面展示方法交换,其中,所述自建页面展示方法具备记录进入当前页面的时刻的功能;
通过调用所述自建页面展示方法获取所述渲染起始时刻。
10.根据权利要求8所述的装置,其中,所述完成时刻记录单元被配置为对当前页面截图;
遍历截图,获取每个像素的色值;
获取每个色值出现的次数;
按照出现次数从大到小的顺序确定预定数量的色值作为空白色值;
确定空白色值所占比例,作为当前页面的空白区域占当前页面的比例。
11.根据权利要求10所述的装置,其中,所述完成时刻记录单元还被配置:在截图后压缩图片尺寸到预定尺寸,所述遍历截图为遍历压缩后的截图。
12.根据权利要求8所述的装置,还包括阈值确定单元,被配置为:
打开需要监控的页面,在收到渲染完成确认指令的情况下,确定页面的空白区域占页面的比例;
执行预定次打开需要监控的页面并确定渲染完成的页面中空白区域占页面的比例的操作,获取平均比例作为所述预定比例阈值。
13.根据权利要求12所述的装置,其中,所述打开需要监控的页面,在收到渲染完成确认指令的情况下,确定页面的空白区域占页面的比例包括:
在打开需要监控的页面时,调用自建页面展示方法添加对页面的监控;
当用户触发发送渲染完成指令时,对当前页面截图,获取每个像素的色值,获取每个色值出现的次数,按照出现次数从大到小的顺序确定预定数量的色值作为空白色值,确定空白色值所占比例。
14.根据权利要求8所述的装置,还包括:
优化提示单元,被配置为在所述渲染时长大于预定渲染时长的情况下,向开发者发送页面优化指令,所述页面优化指令中包括页面标识。
15.一种页面渲染监控装置,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行如权利要求1至7任一项所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现权利要求1至7任意一项所述的方法的步骤。
CN201911081121.2A 2019-11-07 2019-11-07 页面渲染监控方法和装置 Pending CN111797339A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911081121.2A CN111797339A (zh) 2019-11-07 2019-11-07 页面渲染监控方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911081121.2A CN111797339A (zh) 2019-11-07 2019-11-07 页面渲染监控方法和装置

Publications (1)

Publication Number Publication Date
CN111797339A true CN111797339A (zh) 2020-10-20

Family

ID=72805619

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911081121.2A Pending CN111797339A (zh) 2019-11-07 2019-11-07 页面渲染监控方法和装置

Country Status (1)

Country Link
CN (1) CN111797339A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113568840A (zh) * 2021-08-13 2021-10-29 上海幻电信息科技有限公司 一种识别过渡绘制的方法和系统
CN113760678A (zh) * 2021-02-10 2021-12-07 北京沃东天骏信息技术有限公司 一种页面渲染时长的统计方法和装置
CN114741266A (zh) * 2022-05-17 2022-07-12 盐城金堤科技有限公司 页面白屏时长确定方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150251092A1 (en) * 2014-03-07 2015-09-10 Microsoft Corporation Multi-tenancy for cloud gaming servers
CN106502902A (zh) * 2016-10-25 2017-03-15 中国工商银行股份有限公司 web页面运行效率监测方法及装置
US20170185861A1 (en) * 2015-12-28 2017-06-29 Facebook, Inc. Systems and methods for analyzing rendered content
CN109656645A (zh) * 2017-10-11 2019-04-19 阿里巴巴集团控股有限公司 展现时间确定方法和页面渲染完成时间的确定方法及装置
CN109800141A (zh) * 2019-01-28 2019-05-24 Oppo广东移动通信有限公司 Gpu性能瓶颈的确定方法、装置、终端及存储介质
US20190171542A1 (en) * 2017-12-01 2019-06-06 Dynatrace Llc Method And System For Real-User Capable Detecting Of The Visual Completeness Of Browser Rendering Process

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150251092A1 (en) * 2014-03-07 2015-09-10 Microsoft Corporation Multi-tenancy for cloud gaming servers
US20170185861A1 (en) * 2015-12-28 2017-06-29 Facebook, Inc. Systems and methods for analyzing rendered content
CN106502902A (zh) * 2016-10-25 2017-03-15 中国工商银行股份有限公司 web页面运行效率监测方法及装置
CN109656645A (zh) * 2017-10-11 2019-04-19 阿里巴巴集团控股有限公司 展现时间确定方法和页面渲染完成时间的确定方法及装置
US20190171542A1 (en) * 2017-12-01 2019-06-06 Dynatrace Llc Method And System For Real-User Capable Detecting Of The Visual Completeness Of Browser Rendering Process
CN109800141A (zh) * 2019-01-28 2019-05-24 Oppo广东移动通信有限公司 Gpu性能瓶颈的确定方法、装置、终端及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
单线程JACK: "ios编程中的方法交换", pages 1, Retrieved from the Internet <URL:https://www.jianshu.com/p/f417409a601e> *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760678A (zh) * 2021-02-10 2021-12-07 北京沃东天骏信息技术有限公司 一种页面渲染时长的统计方法和装置
CN113568840A (zh) * 2021-08-13 2021-10-29 上海幻电信息科技有限公司 一种识别过渡绘制的方法和系统
CN113568840B (zh) * 2021-08-13 2024-04-02 上海幻电信息科技有限公司 一种识别过渡绘制的方法和系统
CN114741266A (zh) * 2022-05-17 2022-07-12 盐城金堤科技有限公司 页面白屏时长确定方法、装置、电子设备及存储介质
CN114741266B (zh) * 2022-05-17 2024-03-15 盐城天眼察微科技有限公司 页面白屏时长确定方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN111797339A (zh) 页面渲染监控方法和装置
CN105979092B (zh) 一种异常监控方法及装置
US10169900B2 (en) Picture processing method and apparatus
CN105094920B (zh) 一种游戏渲染方法和装置
CN111782492B (zh) 页面首屏加载时长测试方法、装置、计算机设备及介质
WO2019085598A1 (zh) 计算页面首屏渲染时长的方法、装置及电子设备
EP2998960A1 (en) Method and device for video browsing
CN104580907A (zh) 一种防抖的拍照方法及装置
CN112748827B (zh) 截图分享方法、装置、终端设备和存储介质
CN111090593A (zh) 确定崩溃归属的方法、装置、电子设备及存储介质
CN112055237A (zh) 确定屏到屏延时的方法、系统、装置、设备和存储介质
CN106919377B (zh) 确定应用程序的展示界面是否是白屏的方法及装置
CN108986017B (zh) 图像特效处理方法、装置和计算机可读存储介质
CN104301484A (zh) 展示手机程序变化过程的方法
CN112837640A (zh) 屏幕动态画面测试方法、系统、电子设备及存储介质
CN104639714A (zh) 手机反应时间的测试方法
CN110069194B (zh) 页面卡顿确定方法、装置、电子设备及可读存储介质
CN111338759A (zh) 虚拟磁盘校验码生成方法、装置、设备及存储介质
CN112559309A (zh) 页面性能采集算法的调整方法及装置
CN110908887B (zh) 一种自动化测试应用程序响应速度的方法及系统
CN111406399B (zh) 终端拍摄帧率选择方法、终端及计算机可读存储介质
CN106484263A (zh) 截屏处理方法及装置
CN106021473B (zh) 一种移动终端的文件夹大小显示方法、系统及移动终端
CN112449243B (zh) 一种视频处理方法、装置、设备及存储介质
CN114449308A (zh) 一种视频自动剪辑方法、装置及云剪辑服务器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination