CN117076284A - 页面加载时长的检测方法、设备及存储介质 - Google Patents
页面加载时长的检测方法、设备及存储介质 Download PDFInfo
- Publication number
- CN117076284A CN117076284A CN202311351117.XA CN202311351117A CN117076284A CN 117076284 A CN117076284 A CN 117076284A CN 202311351117 A CN202311351117 A CN 202311351117A CN 117076284 A CN117076284 A CN 117076284A
- Authority
- CN
- China
- Prior art keywords
- standard deviation
- page
- loading
- application
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title description 9
- 238000000034 method Methods 0.000 claims abstract description 103
- 230000008569 process Effects 0.000 claims abstract description 56
- 230000008859 change Effects 0.000 claims abstract description 46
- 230000001174 ascending effect Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012827 research and development Methods 0.000 abstract description 8
- 238000005457 optimization Methods 0.000 abstract description 7
- 238000012545 processing Methods 0.000 description 33
- 238000007726 management method Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 10
- 238000012544 monitoring process Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000010295 mobile communication Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 238000013523 data management Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000013480 data collection Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- User Interface Of Digital Computer (AREA)
- Telephone Function (AREA)
Abstract
本申请提供了一种页面加载时长的检测方法、设备及存储介质。该方法在监听到启动应用,或者应用内页面的跳转操作时,通过采集不同页面加载过程中对应的直方图数据,根据直方图数据确定页面加载过程的标准差,进而根据页面加载过程中标准差的变化情况,便可以精准确定电子设备从何时开始加载页面,并且该页面在何时成功加载出,进而将能够体现页面加载时长的标准差和电子设备当前的日志数据上报到云端服务器,从而使得研发人员能够根据页面加载过程中标准差的变化,精准确定即精准地确定对应页面的加载时长,以及影响该页面加载时长的具体原因,进而便于后续对产品的优化。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种页面加载时长的检测方法、设备及存储介质。
背景技术
随着计算机以及移动终端技术的不断发展,电子终端中可以安装的应用程序也越来越多,为用户的日常生活和工作带来了极大的便利。
为了更好地满足用户对应用程序的体验要求,应用程序的开发人员会根据各种指标,对应用程序进行优化,以提升用户体验。其中,页面加载时长是用户体验中较为重要的一项指标。
因此,如何准确地度量电子终端中每一应用对应的页面加载时长尤为重要。
发明内容
为了解决上述技术问题,本申请提供一种页面加载时长的检测方法、设备及存储介质,旨在精准地确定电子设备从何时开始加载页面,并且该页面在何时成功加载出,即精准地确定了电子设备中每一应用对应的页面加载时长。
第一方面,本申请提供一种页面加载时长的检测方法,应用于电子设备。该方法包括:显示用户界面,用户界面中包括目标选项;响应于对目标选项的点击操作,加载目标页面;在加载目标页面的过程中,获取加载的每一帧对应的直方图数据,直方图数据包括每个亮度级别对应的像素数量;对于每一帧,根据直方图数据,确定标准差;判断连续的多个标准差的变化,是否满足预设的阈值变化;在满足预设的阈值变化时,确定目标页面加载完成,获取电子设备当前的日志数据;将日志数据和目标页面加载过程中对应的标准差,上报到服务器;其中,服务器根据目标页面加载过程中标准差的变化,确定目标页面的开始加载时间和结束加载时间,根据日志数据确定影响目标页面加载时长的原因。
其中,用户界面可以为电子设备中任一供用户进行操作的界面,如主界面,或者某一应用程序的页面。
其中,目标页面可以为任意需要加载的页面。可以是启动应用程序时,该应用程序的启动页面或者说主页面,也可以是已经启动应用程序包括的页面。
其中,目标选项可以是显示在用户界面中,供用户进行操作的图标、控件等。
其中,获取的电子设备当前的日志数据,即电子设备执行打点操作获取的数据。这些日志数据,例如可以包括能够体现电子设备当前的负载、温度、网络等与系统性能相关的数据。还可以包括加载目标页面时对应的系统数据,如应用数据(applog)、事件数据(eventlog)、内核数据(kernellog)等。还可以包括电子设备当前系统的状态信息。
其中,日志数据可以是周期性地上报,也可以是选择合适的时机,如电子设备空闲时上报。
由此,在监听到启动应用,或者应用内页面的跳转操作时,通过采集不同页面加载过程中对应的直方图数据,根据直方图数据确定页面加载过程的标准差,进而根据页面加载过程中标准差的变化情况,便可以精准确定电子设备从何时开始加载页面,并且该页面在何时成功加载出,进而将能够体现页面加载时长的标准差和电子设备当前的日志数据上报到云端服务器,从而使得研发人员能够根据页面加载过程中标准差的变化,精准确定即精准地确定对应页面的加载时长,以及影响该页面加载时长的具体原因,进而便于后续对产品的优化。
根据第一方面,判断连续的多个标准差的变化,是否满足预设的阈值变化,包括:根据相邻两帧的标准差,确定点击操作后,相邻两帧的标准差是否呈上升趋势,并且在后的一帧对应的标准差大于预设的第一阈值;在呈上升趋势,并且在后的一帧对应的标准差大于第一阈值时,将在后的一帧记为开始加载目标页面的起始帧,起始帧对应了开始加载时间;从起始帧开始,根据连续N帧的标准差,确定目标页面加载过程中,对应的标准差是否呈下降趋势,并且下降超过预设的第二阈值,N为大于等于2的整数;在下降超过第二阈值预设次数时,确定连续的多个标准差的变化,满足预设的阈值变化。
其中,第一阈值,例如为130000(13w)。第二阈值,例如为9000(9k)。
根据第一方面,或者以上第一方面的任意一种实现方式,在将在后的一帧记为开始加载目标页面的起始帧时,方法还包括:初始化骤降计数器,将骤降计数器的值设置为0;在每次根据连续N帧的标准差,确定目标页面加载过程中,对应的标准差呈下载趋势,并且下降超过第二阈值时,骤降计数器的值增1;在骤降计算器的值达到预设的M时,确定下降超过第二阈值预设次数,M为大于0的整数。
其中,M可以为3。
由此,通过设置自增的骤降计数器,在每次发生标准差下降超过第二阈值的情况下,直接对骤降计数器进行自增操作,这样在骤降计数器的值增大到设定的值时,就可以直接确定标准差下降超过预设次数,进而确定目标页面加载完成,从而保证基于标准差变化确定的页面加载时长更加精准、合理。
根据第一方面,或者以上第一方面的任意一种实现方式,在将在后的一帧记为开始加载目标页面的起始帧时,方法还包括:初始化骤降计数器,将骤降计数器的值设置为M,M为大于0的整数;在每次根据连续N帧的标准差,确定目标页面加载过程中,对应的标准差呈下载趋势,并且下降超过第二阈值时,骤降计数器的值减1;在骤降计算器的值变为0时,确定下降超过第二阈值预设次数。
其中,M可以为3。
由此,通过设置自减的骤降计数器,在每次发生标准差下降超过第二阈值的情况下,直接对骤降计数器进行自减操作,这样在骤降计数器的值降为0时,就可以直接确定标准差下降超过预设次数,进而确定目标页面加载完成,从而保证基于标准差变化确定的页面加载时长更加精准、合理。
根据第一方面,或者以上第一方面的任意一种实现方式,方法还包括:在每次根据连续N帧的标准差,确定目标页面加载过程中,对应的标准差呈下载趋势时,确定连续N帧中的最后一帧的标准差是否小于预设的第三阈值;在小于第三阈值时,确定连续的多个标准差的变化,满足预设的阈值变化。
其中,第三阈值,例如为80000(8w)。
由于通常情况下,页面完成加载后,对应的标准差会稳定在80000(8w)以下,因此通过将80000(8w)设置为第三阈值,当标准差低于第三阈值时,不论当前是否骤降次数达到预设次数,均可以认为目标页面已经加载完成,从而使得确定的页面加载时长更加精准、合理。
根据第一方面,或者以上第一方面的任意一种实现方式,方法还包括:记录开始获取直方图数据的开始时间;在不满足预设的阈值变化时,确定开始获取直方图数据的时间距当前时间的时间差值,是否大于预设时间阈值;在大于时间阈值时,获取电子设备当前的日志数据。
其中,预设的时间阈值,例如5s。该时间阈值的设置,可以在开启直方图属性时,在程序中默认设置。
这样,执行打点操作,获取电子设备当前的日志数据的前提条件,既考虑到了正常的页面加载场景,还考虑到了页面无法加载的场景。即,在页面没有正常加载成功,但到达设定的时间阈值时,也执行打点操作,从而保证研发人员能够获知各种场景下的日志数据,进而对产品做出优化。
根据第一方面,或者以上第一方面的任意一种实现方式,直方图数据为灰度直方图数据,直方图数据包括的亮度级别包括0~255个灰度级别。
通过将需要加载的页面的内容(图像)转换为灰度图像,使得获取的灰度直方图数据能够包括0~255这256个灰度级别,从而不仅可以避免可见条带失真,还易于后续编程处理。
根据第一方面,或者以上第一方面的任意一种实现方式,根据直方图数据,确定标准差,包括:根据0~255个灰度级别分别对应的像素数量,确定直方图数据对应的平均值;根据平均值和0~255个灰度级别分别对应的像素数量,确定直方图数据对应的方差;根据方差,确定标准差。
由此,实现了对每一帧需要加载的图像对应的直方图数据的标准差的确定。
根据第一方面,或者以上第一方面的任意一种实现方式,用户界面为电子设备的主界面,主界面中显示了电子设备安装的应用程序的图标,目标选项为电子设备安装的任一应用程序对应的图标,目标页面为目标选项对应的应用程序的主页面。
由此,在应用程序启动的场景下,基于被启动的应用程序的页面加载过程中直方图数据计算出的标准差的变化,可以精准地确定被选中的应用程序的主页面对应的加载时长,并且通过将页面开始加载到结束加载期间的日志数据上报到服务器,从而便于研发人员精准定位不同场景下,影响页面加载时长的原因,进而便于对产品的优化。
根据第一方面,或者以上第一方面的任意一种实现方式,用户界面为电子设备安装的任一应用程序的主页面,目标选项为主页面中显示的选项,目标页面为显示主页面的应用程序包括的其他页面,其他页面不包括主页面。
由此,在应用程序包括的不同页面之间进行切换的场景下,基于不同页面加载过程中直方图数据计算出的标准差的变化,可以精准地确定每一个页面对应的加载时长,并且通过将页面开始加载到结束加载期间的日志数据上报到服务器,从而便于研发人员精准定位不同场景下,影响页面加载时长的原因,进而便于对产品的优化。
第二方面,本申请提供了一种电子设备。该电子设备包括:存储器和处理器,存储器和处理器耦合;存储器存储有程序指令,程序指令由处理器执行时,使得所述电子设备执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第三方面,本申请提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第三方面以及第三方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第三方面以及第三方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第四方面,本申请提供了一种计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第四方面以及第四方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第四方面以及第四方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第五方面,本申请提供了一种芯片,该芯片包括处理电路、收发管脚。其中,该收发管脚、和该处理电路通过内部连接通路互相通信,该处理电路执行第一方面或第一方面的任一种可能的实现方式中的方法,以控制接收管脚接收信号,以控制发送管脚发送信号。
第五方面以及第五方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第五方面以及第五方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
附图说明
图1A~图1D为示例性示出的页面加载的场景示意图;
图2A和图2B为示例性示出的一种加载的页面和该页面对应的直方图;
图3为示例性示出的电子设备的硬件结构示意图;
图4为示例性示出的电子设备的软件结构示意图;
图5为示例性示出的本申请实施例提供的一种页面加载时长的检测方法的流程示意图;
图6A~图6C为示例性示出的启动应用程序,加载该应用程序对应的目标页面过程中,界面的变化示意图;
图7为示例性示出的从图6A中示出的界面10d1到图6C示出的界面10d4过程中,标准差的变化示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
随着计算机以及移动终端技术的不断发展,电子终端(电子设备)中可以安装的应用程序(后续简称:应用)也越来越多。例如,各种音视频播放类的应用、各种办公应用,如邮件、记事本,各种图片类应用。这些应用为用户的日常生活和工作带来了极大的便利。
目前,为了更好地满足用户的使用需求,各种应用中嵌套了多个页面(界面),用户通过每个页面中包括的控件/图标,可以实现不同页面的跳转。但是,在应用启动或应用内页面切换的过程中,可能会发生白屏或者加载不出的情况。
下述以手机为例,结合附图对电子设备中安装的应用,如图库应用的启动,以及图库应用内不同页面的切换加载进行相关说明。
图1A中(1),示例性的示出了一个手机界面10a。参见图1A中(1),示例性的,该界面10a上显示有多个应用程序的图标,例如图库应用的图标10a-1,以及相机、通讯录、电话、信息、时钟、日历、备忘录、文件管理、电子邮件、音乐、计算器、视频、录音机、天气、浏览器、设置等应用的图标。
需要说明的是,在一些可能的实现方式中,图1A中(1)示出的界面10a可以称之为主界面。其中,当用户点击该界面10a中图标10a-1时,手机响应于该操作行为,将启动图库应用。并且,在正常情况下,图库应用启动后,将快速加载图库应用的默认界面,如图1A中(2)示出的界面10b。但是,在一些实现场景中,可能会因为手机当前资源,或者操作系统,或者图库应用版本等出现启动、加载异常。如当用户点击图1B中(1)示出的界面10a中的图标10a-1后,出现白屏或者没有快速加载出1A中(2)示出的界面10b的情况,进而导致出现了如图1B中(2)所示的界面10b。
参见图1C中(1),示例性的,在一些可能的实现方式中,用户可以操作正常显示的界面10b中的各种控件,如相机拍摄的所有图片合集对应的控件10b-1。示例性的,正常情况下,当用户点击控件10b-1后,手机响应于该操作行为,将从图1C中(1)示出的界面10b跳转到图1C中(2)示出的界面10c。但是,在一些实现场景中,可能会因为手机当前资源,或者操作系统,或者图库应用版本等出现启动、加载异常。如当用户点击图1D中(1)示出的控件10b-1后,出现白屏或者没有快速加载出图1C中(2)示出的界面10c的情况,进而导致出现了如图1D中(2)所示的界面10c。
应当理解地是,上述说明仅是为了更好地理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
因此,为了更好地满足用户对应用的体验要求,应用程序的开发人员会根据各种指标,对应用程序进行优化,以提升用户体验。其中,页面加载时长是用户体验中较为重要的一项指标。但是,由于目前应用的加载逻辑几乎都是由应用侧控制实现的,因此系统侧没有办法准确地度量电子设备中每一应用对应的页面加载时长。
有鉴于此,本申请实施例提供了一种页面加载时长的检测方法,在监听到启动应用,或者应用内页面的跳转操作时,通过采集不同页面加载过程中对应的直方图数据,根据直方图数据确定页面加载过程的标准差,进而根据页面加载过程中标准差的变化情况,便可以精准确定电子设备从何时开始加载页面,并且该页面在何时成功加载出,即精准地确定了电子设备中每一应用对应的页面加载时长。
需要说明的是,直方图(Histogram),是由一系列高度不等的纵向条纹,或线段,或数据点表示数据分布的统计报告图。一般情况下,可以用横轴表示数据类型,纵轴表示分布情况。具体到本申请实施例中,页面加载过程中获取的每一帧的直方图数据,包括了每个亮度级别对应的像素数量。基于每一帧的直方图数据,可以绘制出一幅横轴为亮度级别,纵轴为像素数量的直方图。
具体地说,在本实施例中,获取的直方图数据具体为灰度直方图数据,即亮度级别包括0~255这256个灰度级别(灰度值),从而不仅可以避免可见条带失真,还易于后续编程处理。
为了便于理解,以下结合附图进行具体说明。示例性的,以需要加载的页面为图2A所示的画面为例。对于图2A所示的画面,电子设备在加载过程中,采集到的灰度直方图数据,例如表1所示。
表1 图2A所示页面对应的直方图数据
应当理解地是,上述说明仅是为了更好地理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
示例性的,基于表1示出的每个灰度级别对应的像素数量,绘制的灰度直方图可如图2B所示。
应当理解地是,上述说明仅是为了更好地理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。在本申请实施例提供的页面加载时长的检测方法中,只需要获取直方图数据即可,无需绘制如图2B所示的直方图。
此外,需要说明的是,根据标准差的计算原理可知,对于灰度直方图数据对应的标准差,当页面颜色越单一,即存在像素的灰度级别越少,标准差越高。反之,页面颜色越丰富,标准差越低。
此外,通过上述页面加载的场景描述可知,页面加载过程中,出现白屏、加载不出来的情况时,当前页面颜色通常较为单一,而正常加载显示出的页面,通常颜色相对丰富,如图2A所示。基于此可知,标准差越高,出现白屏、加载不出来的概率越大,这种情况就需要研发人员进行优化完善。反之,标准差越低,出现白屏、加载不出来的概率越小,即页面正常加载。
由此,针对不同应用的不同场景,利用页面加载过程中采集到的直方图数据,确定对应的标准差,通过标准差的变化,便可以快速、精准地度量电子设备中每一应用对应的页面加载时长。
为了更好地理解本申请实施例提供的技术方案,下面结合图3和图4对电子设备的硬件结构和软件结构进行介绍。
需要说明的是,本申请实施例所适用于的电子设备,例如可以是手机、平板电脑、智能穿戴设备等能够安装各种应用程序的设备。
以本申请实施例适用于的电子设备为手机100为例。作为一种可能的实现方式,该手机100可以包括如图3所示的各种功能器件。
参见图3,示例性的,手机100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。
其中,处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器(Modem),图形处理器(graphicsprocessing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,神经网络处理器(neural-network processing unit,NPU)等,此处不再一一列举,本申请对此不作限制。
关于上述所说的作为处理单元的控制器,可以是手机100的神经中枢和指挥中心。在实际应用中,控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
关于上述说的调制解调处理器,可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号,以及将解调得到的低频基带信号传送至基带处理器处理。
关于上述所说的基带处理器,用于对调节器传输的低频基带信号进行处理,并将处理后的低频基带信号传递给应用处理器。
需要说明的是,在一些实现方式中,基带处理器可以集成在调制解调器内,即调制解调器可以具备基带处理器的功能。
关于上述所说的应用处理器,用于通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。
具体到本申请实施例提供的技术方案中,页面的加载则需要用到应用处理器。
关于上述所说的数字信号处理器,用于处理数字信号。具体地,数字信号处理器除了可以处理数字图像信号,还可以处理其他数字信号。
关于上述所说的视频编解码器,用于对数字视频压缩或解压缩。示例性的,手机100可以支持一种或多种视频编解码器。这样,手机100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
关于上述所说的ISP,用于将数字图像信号输出到DSP加工处理。具体地,ISP 用于处理摄像头193反馈的数据。例如,拍照、录像时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实现方式中,ISP可以设置在摄像头193中。
关于上述所说的DSP,用于将数字图像信号转换成标准的RGB,YUV等格式的图像信号。
此外,还需要说明的是,关于包括上述处理单元的处理器110,在一些实现方式中,不同的处理单元可以是独立的器件。即,每一个处理单元都可以看作为一个处理器。在另一些实现方式中,不同的处理单元也可以集成在一个或多个处理器中。
应当理解地是,上述说明仅是为了更好地理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
此外,处理器110还可以包括一个或多个接口。其中,接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等,此处不再一一列举,本申请对此不作限制。
此外,处理器110中还可以设置存储器,用于存储指令和数据。在一些实现方式中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
继续参见图3,外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,图片、视频等文件保存在外部存储卡中。
继续参见图3,内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行手机100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能,以及本申请实施例中所说的用于实现页面加载时长的检测功能的)等。存储数据区可存储手机100使用过程中所创建的数据(上述实施例中可以通过图库应用查看的图片、视频)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
继续参见图3,充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。可理解地。充电管理模块140在为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
继续参见图3,电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实现方式中,电源管理模块141也可以设置于处理器110中。在另一些实现方式中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
继续参见图3,手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
需要说明的是,天线1和天线2用于发射和接收电磁波信号。手机100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实现方式中,天线可以和调谐开关结合使用。
继续参见图3,移动通信模块150可以提供应用在手机100上的包括2G/3G/4G/5G等无线通信的解决方案。
继续参见图3,无线通信模块160可以提供应用在手机100上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
需要说明的是,在一些实现方式中,手机100在发生页面加载操作时,可以通过标准差的变化确定页面是否加载完成,进而及时触发打点操作,获取手机100当前的日志数据,进而将得到的日志数据,以及页面加载过程中涉及的每一帧的标准差,上报至对应的服务器(可以是云端服务器),以便研发人员进行汇总,然后统一处理,优化完善产生该日志数据的应用的页面加载逻辑,或者优化手机100的操作系统等。
示例性的,对于这种日志数据交由云端服务器的场景,手机100可通过移动通信模块150或无线通信模块160与云端服务器或者其他服务器进行通信。例如,手机100可以通过移动通信模块150向云端服务器发送页面加载后,手机100当前的日志数据。相应地,云端服务器可以将研发人员根据手机100上报的日志数据优化处理后的应用版本、操作系统版本等,推送至手机100,以更新手机100中安装的存在异常问题的应用、操作系统等,从而使得该应用后续使用中能够快速实现页面的加载,减少白屏、无法加载的情况发生。
应当理解地是,上述说明仅是为了更好地理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
继续参见图3,音频模块170可以包括扬声器170A,受话器170B,麦克风170C,耳机接口170D等。示例性的,手机100可以通过应用处理器和音频模块170中的扬声器170A,受话器170B,麦克风170C,耳机接口170D等实现音频功能。例如录音录像功能。
继续参见图3,传感器模块180可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等,此处不再一一列举,本申请对此不作限制。
继续参见图3,按键190包括开机键,音量键等。手机100可以接收按键输入,产生与手机100的用户设置以及功能控制有关的信号输入。马达191可以产生振动提示。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
继续参见图3,摄像头193用于捕获静态图像或视频。手机100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。具体地,物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupleddevice,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实现方式中,手机100可以包括1个或N个摄像头193,N为大于1的正整数。
继续参见图3,显示屏194用于显示图像,视频等。显示屏194包括显示面板。在一些实现方式中,手机100可以包括1个或N个显示屏194,N为大于1的正整数。手机100可以通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
关于手机100的硬件结构就介绍到此,应当理解地是,图3所示手机100仅是一个范例,在具体实现中,手机100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图3中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件,或硬件和软件的组合中实现。
为了更好地理解图3所示手机100的软件结构,以下对手机100的软件结构进行说明。在对手机100的软件结构进行说明之前,首先对手机100的软件系统可以采用的架构进行说明。
具体地,在实际应用中,手机100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。
此外,可理解地,目前主流的电子设备使用的软件系统包括但不限于Windows系统、Android系统和iOS系统。为了便于说明,本申请实施例以分层架构的Android系统为例,示例性说明手机100的软件结构。
此外,后续关于本申请实施例提供的页面加载时长的检测方案,在具体实现中同样适用于其他系统。
参见图4,为本申请实施例的手机100的软件结构框图。
如图4所示,手机100的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实现方式中,将Android系统分为五层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,硬件抽象层(hardware abstraction layer,HAL),以及内核层。
其中,应用程序层可以包括一系列应用程序包。如图4所示,应用程序包可以包括相机、设置、地图、WLAN、蓝牙、图库、音乐等应用程序,此处不再一一列举,本申请对此不作限制。
需要说明的是,这些应用启动过程中涉及的页面加载时长的检测,以及应用启动后,应用内不同页面间跳转时进行的页面加载时长的检测,均可以基于本申请实施例提供的页面加载时长的检测方法,精准确定不同场景下,不通页面的加载时长,以及定位影响页面加载时长的原因。
其中,应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。在一些实现方式中,这些编程接口和编程框架可以描述为函数。具体到本申请实施例提供的技术方案中,应用程序框架层可以包括如图4示出的直方图数据采集模块、标准差计算模块、标准差变化监测模块、打点模块。
具体到本申请实施例提供的技术方案中,直方图数据采集模块用于在发生页面加载时,根据被触发的应用发送的事件通知,开始获取页面加载过程中的直方图数据,具体可以是灰度直方图数据,例如如表1所示的0~255这256个灰度级别分别对应的像素数量。
标准差计算模块,用于针对每一帧的直方图数据,计算每一帧对应的标准差。以一帧直方图数据对应的标准差的计算为例,具体的可以先根据0~255这256个灰度级别分别对应的像素数量,确定直方图数据对应的平均值。然后,根据平均值和这256个灰度级别分别对应的像素数量,确定直方图数据对应的方差,即每一个灰度级别的像素数量减去平均数,再平方,之后将这些平方数加起来除以256。最后,对方差进行开根号即可。
标准差变化监测模块,用于确定将连续多帧的标准差的变化是呈现上升趋势,还是下降趋势,并在呈现上升区域或下降趋势时,分别于预设的阈值进行比较,进而确定标准差是否满足预设的阈值变化。
打点模块,用于在标准差变化监测模块监测到标准差的变化满足预设的阈值变化时,触发电子设备执行打点操作,即获取电子设备当前的日志数据。
需要说明的是,在本申请实施例提供的技术方案中,电子设备执行打点操作,获取的日志数据,例如可以包括能够体现电子设备当前的负载、温度、网络等与系统性能相关的数据。
关于上述所说的与系统性能相关的日志数据的获取,例如可以通过预先安装到电子设备中的systrace(一种用于分析Android系统性能的工具)获取。
还例如,可以包括加载目标页面时对应的系统数据,如应用数据(applog)、事件数据(eventlog)、内核数据(kernellog)等。
还例如,可以包括电子设备当前系统的状态信息。示例性的,在一种实现方式中,这些状态信息,例如是通过快照技术获取到的如janklog、bugreport、eventinfo、dunpsys、properties、sensor等信息。
应当理解地是,上述说明仅是为了更好地理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
可以理解地,上述各功能模块的划分,仅是为了更好地理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。在实际应用中,上述功能也可以集成在一个功能模块中实现,本实施例对此不作限制。
此外,在实际应用中,上述个功能模块也可以表示为服务、框架,如直方图数据采集模块可以表示为直方图数据采集服务,或者直方图数据采集框架等,本实施例对此不作限制。
此外,需要说明的是,应用程序框架层还可以为应用程序层的应用程序提供其他应用编程接口和编程框架。例如,窗口管理器、内容提供器、视图系统、电话管理器、资源管理器、通知管理器等,此处不再一一列举,本申请对此不作限制。
其中,窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
其中,内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等,此处不再一一列举,本申请对此不作限制。
其中,视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
其中,电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
其中,资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等,此处不再一一列举,本申请对此不作限制。
其中,通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。
应当理解地是,上述说明仅是为了更好地理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
其中,Android Runtime包括核心库和虚拟机。Android Runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维(3D)图形处理库(例如:OpenGL ES),二维(2D)图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式播放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
可理解地,上述所说的2D图形引擎是2D绘图的绘图引擎。
具体到本申请实施例提供的技术方案中,系统库中还包括用于接收打点模块上报的日志数据,以及页面加载过程中对应的标准差的日志数据管理模块。
其中,日志数据管理模块,用于将页面加载过程中对应的标准差,以及获取到的日志数据上报至服务器。具体需要利用电子设备中的无线通信模块或移动通信模式实现数据的传输。
此外,需要说明的是,关于日志数据和标准差的上报,例如可以是周期性地上报,也可以是选择合适的时机,如电子设备空闲时上报。
应当理解地是,上述说明仅是为了更好地理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
其中,硬件抽象层用于对硬件驱动封装,进而向上层框架提供同一接口。内核层是硬件和软件之间的层,包括了各种硬件驱动,如传感器驱动、显示驱动、麦克风驱动、WLAN驱动、摄像头驱动等。
关于终端设备100的软件结构就介绍到此,可以理解地是,图4示出的软件结构中的层以及各层中包含的部件,并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备100可以包括比图示更多或更少的层,以及每个层中可以包括更多或更少的部件,本申请不做限定。
在图4所示的电子设备的软件结构的基础上,下面结合具体的实施例对本申请实施例提供的页面加载时长的检测方法进行说明。
参见图5,示例性示出一种页面加载时长的检测方法的流程示意图。在本实施例中,页面加载时长的检测方法可包括:
101,显示用户界面,用户界面显示了触发电子设备加载目标页面的目标选项。
其中,用户界面可以为电子设备中任一供用户进行操作的界面,如主界面,或者某一应用程序的页面。
其中,目标页面可以为任意需要加载的页面。可以是启动应用程序时,该应用程序的启动页面或者说主页面,也可以是已经启动应用程序包括的页面。
其中,目标选项可以是显示在用户界面中,供用户进行操作的图标、控件等。
示例性的,在一种可能的实现方式中,当用户界面为电子设备的主界面,例如图1A中(1),或图1B中(1)示出的界面10a时,该用户界面中可以显示电子设备中安装的各种应用程序的图标。对于这种用户界面为主界面的场景,目标选项例如可以是电子设备中安装的任一应用程序对应的图标,例如图1A中(1),或图1B中(1)示出的界面10a中的图标10a-1。
相应地,目标页面则为目标选项对应的应用程序的页面,其可以是主页面,即应用程序启动后,默认显示的页面。
以目标选项为图1A中(1),或图1B中(1)示出的界面10a中图标10a-1为例,当用户点击了图标10a-1后,电子设备响应于该操作行为,将启动图标10a-1对应的应用程序,如图1A中(1),或图1B中(1)示出的图库应用。对于从电子设备的主界面启动图库应用的场景,最终加载的目标页面例如图1A中(2)示出的界面10b。
可理解地,在本申请实施例提供的技术方案中,不仅可以实现对正常加载的目标页面的加载时长的检测,还可以获知导致目标页面加载异常的原因。因此,对于加载过程中出现的如图1B中(2)示出的界面10b对应的日志数据,在本申请实施例提供的技术方案中,也可以及时获取对应的日志数据,并上报至服务器。
由此,在应用程序启动的场景下,基于被启动的应用程序的页面加载过程中直方图数据计算出的标准差的变化,可以精准地确定被选中的应用程序的主页面对应的加载时长,并且通过将页面开始加载到结束加载期间的日志数据上报到服务器,从而便于研发人员精准定位不同场景下,影响页面加载时长的原因,进而便于对产品的优化。
示例性的,在另一种可能的实现方式中,当用户界面为已经启动的某一应用程序包括的页面时,如该应用程序的主页面时,目标选项可以为该应用程序当前显示的页面中的任一能够触发页面跳转的选项。
以图1C中(1)或图1D中(2)示出的界面10b为电子设备当前显示的用户界面,即图库应用的主页面为例。目标选项例如可以是图中示出的控件10b-1。
相应地,当用户点击控件10b-1后,电子设备响应该操作行为,将加载显示相机拍摄的所有照片的页面,如图1C中(2)示出的界面10c。
可理解地,在本申请实施例提供的技术方案中,不仅可以实现对正常加载的目标页面的加载时长的检测,还可以获知导致目标页面加载异常的原因。因此,对于加载过程中出现的如图1D中(2)示出的界面10c对应的日志数据,在本申请实施例提供的技术方案中,也可以及时获取对应的日志数据,并上报至服务器。
由此,在应用程序包括的不同页面之间进行切换的场景下,基于不同页面加载过程中直方图数据计算出的标准差的变化,可以精准地确定每一个页面对应的加载时长,并且通过将页面开始加载到结束加载期间的日志数据上报到服务器,从而便于研发人员精准定位不同场景下,影响页面加载时长的原因,进而便于对产品的优化。
102,响应于对目标选项的点击操作,触发对目标页面的加载。
103,获取加载的每一帧对应的直方图数据。
具体的,为了避免可见条带失真,同于又易于后续编程处理,在目标页面加载过程中,直方图数据采集模块获取的每一帧对应的直方图数据,具体为灰度直方图数据,即亮度级别包括2~255这256个灰度级别的分别对应的像素数量的数据。
104,对于每一帧,根据直方图数据,确定标准差。
在直方图数据中包括的是0~255这256个灰度级别分别对应的像素数量的情况下,每一帧对应的标准差的确定可以如下:
首先,根据0~255这256个灰度级别分别对应的像素数量,确定直方图数据对应的平均值。
然后,根据平均值和这256个灰度级别分别对应的像素数量,确定直方图数据对应的方差。即每一个灰度级别的像素数量减去平均数,再平方,之后将这些平方数加起来除以256。
最后,对方差进行开根号即可。
由此,实现了对每一帧需要加载的图像对应的直方图数据的标准差的确定。
此外,需要说明的是,由于电子设备响应于用户的操作行为,触发目标页面的加载操作时,会存在初始化该目标页面的过程,因此在短时间内,获取到的直方图数据依旧为当前显示的用户界面的。而对于已经正常显示的用户界面,其对应的标准差通常较低。当用户界面正在出现要加载的目标页面,开始加载目标页面的内容时,根据当前帧对应的直方图数据计算的标准差将会出现上升的趋势,并且增加的值较大,即会瞬时上升。
基于此,标准差变化监测模块可以通过判断连续的多个标准差的变化,是否满足预设的阈值变化,进而确定目标页面是否加载完成。
关于标准差变化监测模块进行的处理,例如可以包括步骤105至步骤109,以及步骤111和步骤112。
105,相邻两帧的标准差是否呈上升趋势,并且在后的一帧对应的标准差大于预设的第一阈值。
其中,第一阈值,例如为130000(13w)。
应当理解地是,上述说明仅是为了更好地理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
由此,可以确定当前是否已经开始加载目标页面,例如对目标页面的activity初始化完成,在用户界面显示了目标页面的activity,接着准备真正开始加载目标页面中需要显示的内容。
具体的,通过判断,若确定标准差呈上升趋势,并且在后的一帧对应的标准差大于第一阈值,这种场景下可以执行步骤106。反之,即没有同时满足标准差呈上升趋势,并且在后的一帧对应的标准差也没用大于第一阈值的情况下,可以标准差变化监测模块可以根据标准差计算模块计算出的新的标准差,继续执行步骤105的操作。
这样,就可以精准地确定目标页面正在开始加载的开始加载时间。后续,当确定目标页面加载完成后,就可以根据结束加载时间和开始加载时间,精准地确定目标页面的加载时长。
106,将在后的一帧记为开始加载目标页面的起始帧,并初始化骤降计数器。
其中,骤降计数器可以分为自增类型的和自减类型的。在实际应用中,可以根据业务需要进行设置。
为了便于描述,本申请实施例以骤降计数器为自增类型的为例。
相应地,对于自增类型的骤降计数器,在确定目标页面开始加载时,做出的初始化骤降计数器的操作,例如为将自增类型的骤降计数器的值初始化为0。
107,目标页面加载过程中,对应的标准差是否呈下降趋势,并且下降超过预设的第二阈值。
其中,第二阈值,例如为9000(9k)。
应当理解地是,上述说明仅是为了更好地理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
具体的,标准差变化监测模块根据标准差计算模块计算出的连续N帧的标准差,确定目标页面加载过程中,对应的标准差呈下降趋势,并且下降超过第二阈值时,可以执行步骤108。反之,可以执行步骤111。
其中,N可以为大于等于2的整数。
108,骤降计数器进行自增。
即,在每次发生标准差呈下降趋势,并且下降超过第二阈值时,对骤降计算器的值进行加1。
109,骤降计数器的值是否达到预设次数。
其中,预设次数可以根据不同页面正常加载过程中,标准差的骤降变化确定。本实施例以3次为例。
具体的,当骤降计数器的值达到预设次数时,基本可以认为目标页面的内容已经加载完成,这种情况下可以认为目标页面加载完成,进而触发打点模块执行打点操作,使得日志数据管理模块能够将打点模块获取到的日志数据,以及标准差计算模块计算出的标识了起始帧的标准差上报至服务器,即执行步骤110。反之,可以执行步骤111。
由此,通过设置自增的骤降计数器,在每次发生标准差下降超过第二阈值的情况下,直接对骤降计数器进行自增操作,这样在骤降计数器的值增大到设定的值时,就可以直接确定标准差下降超过预设次数,进而确定目标页面加载完成,从而保证基于标准差变化确定的页面加载时长更加精准、合理。
110,执行打点操作,并上报打点操作获得的日志数据至服务器。
即,在标准差变化监测模块确定连续的多个标准差的变化,满足预设的阈值变化时,通知打点模块获取电子设备当前的日志数据后,交由日志数据管理模块上报至服务器。
111,加载时长是否超过预设的时间阈值。
其中,预设的时间阈值,例如5s。该时间阈值的设置,可以在开启直方图属性时,在程序中默认设置。
具体的,在加载时长超过预设的时间阈值时,通常可以认为目标页面的加载出现的异常,这种情况可以及时获取当前的日志数据,进而上报至服务器,即执行步骤110。反之,可以执行步骤112。
这样,执行打点操作,获取电子设备当前的日志数据的前提条件,既考虑到了正常的页面加载场景,还考虑到了页面无法加载的场景。即,在页面没有正常加载成功,但到达设定的时间阈值时,也执行打点操作,从而保证研发人员能够获知各种场景下的日志数据,进而对产品做出优化。
112,当前帧的标准差是否小于第三阈值。
其中,第三阈值,例如为80000(8w)。
由于通常情况下,页面完成加载后,对应的标准差会稳定在80000(8w)以下,因此通过将80000(8w)设置为第三阈值,当标准差低于第三阈值时,不论当前是否骤降次数达到预设次数,均可以认为目标页面已经加载完成,从而使得确定的页面加载时长更加精准、合理。
基于此,在当前帧的标准差小于第三阈值时,直接执行步骤110。反之,循环执行步骤107至步骤112的操作。
此外,需要说明的是,在实际应用中,步骤111和步骤112可以不限制具体的执行顺序。具体可以根据业务需要设置,本申请对此不作限制。
为了更好地理解本申请实施例提供的技术方案,以下结合实例进行说明。
示例性的,以用户界面为图6A中(1)示出的界面10a,目标选项为购物应用对应的图标10a-2为例。
参见图6A中(1),示例性的,当用户点击图标10a-2后,手机响应于该操作行为,将启动购物应用,进而加载购物应用的主页面,即本申请实施例所说的目标页面。以购物应用启动到最终在用户界面显示目标页面的过程中,目标页面加载过程中的变化包括图6A中(2)示出的界面10d1,图6B中(1)示出的界面10d2,图6B中(2)示出的界面10d3,图6C示出的界面10d4,最终用户界面变成图6C示出的界面10d4时,表示目标页面加载完成。
基于此,当用户点击图标10a-2后,手机响应于该操作行为,启动购物应用,最先加载显示出的为界面10d1。界面10d1这一帧的直方图数据对应的标准差例如可以是166232。
通过上述描述可知,页面颜色越单一,标准差越高。故而,在从图标、控件丰富的界面10a切换为图标、控件较少的界面10d1时,这两个页面对应的帧的标准差会出现大幅度的上升趋势,并且界面10d1对应的帧的标准差达到了166232,即大于了上述实施例中所说的第一阈值。此时,可以将界面10d1对应的帧,如图7中示出的第1帧标记为起始帧。
示例性的,如果在加载获得目标页面,即界面10d4的过程中,从第1帧到第15帧时,对应的标准差基本稳定在16623,如图7所示。即从第1帧到第15帧的期间,标准差变化监测模块会循环执行步骤105。
示例性的,当界面10d1加载完成后,随着时间的推移,手机的用户界面会出现如图6B中(1)示出的界面10d2。
参见图6B中(1),示例性的,由于界面10d2中显示的图标、控件较多,标准差相较于界面10d1的标准差要低很多,例如降到了89575。对应到图7中,例如可以是在第15帧到第17帧出现下降趋势,并且降到89575。由于下降值大于了步骤107中所说的第二阈值,因此骤降计数器可以进行一次自增。
示例性的,随着时间的推移,界面10d2中未加载出的图标,如图6B中(2)示出的界面10d3中的图标19,将加载出。由于界面10d3比界面10d2多了图标19,因此对应的标准差进一步下降,例如降到了61968。对应到图7中,从界面10d2到界面10d3可能花费了4帧,如从第17帧到第21帧。由于下降值大于了步骤107中所说的第二阈值,因此骤降计数器可以再进行一次自增。
示例性的,随着涉及的推移,界面10d3中未加载出的图标,如图6C示出的界面10d4中的图标20,将加载出。由于界面10d4比界面10d3多了图标20,因此对应的标准差进一步下降,例如降到了55316。对应到图7中,从界面10d3到界面10d4可能花费了7帧,如从第21帧到第27帧。由于下降值大于了步骤107中所说的第二阈值,因此骤降计数器可以再进行一次自增。
示例性的,当骤降计数器对应的预设次数为3时,通过图6A、图6B、图6C和图7可知,从界面10d1到界面10d4已经经历了3次骤降,并且每次骤降都大于第二阈值。通过上述步骤109的描述可知,这种情况下,标准差变化监测模块可以通知打点模块执行打点操作,进而使得日志数据管理模块将得到的日志数据和图7对应的整个加载过程中每一帧对应的标准差上报至服务器。
应当理解地是,上述说明仅是为了更好地理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
由此,在监听到启动应用,或者应用内页面的跳转操作时,通过采集不同页面加载过程中对应的直方图数据,根据直方图数据确定页面加载过程的标准差,进而根据页面加载过程中标准差的变化情况,便可以精准确定电子设备从何时开始加载页面,并且该页面在何时成功加载出,进而将能够体现页面加载时长的标准差和电子设备当前的日志数据上报到云端服务器,从而使得研发人员能够根据页面加载过程中标准差的变化,精准确定即精准地确定对应页面的加载时长,以及影响该页面加载时长的具体原因,进而便于后续对产品的优化。
此外,可以理解地是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
此外,需要说明的,在实际的应用场景中由电子设备实现的上述各实施例提供的页面加载时长的检测方法,也可以由电子设备中包括的一种芯片系统来执行,其中,该芯片系统可以包括处理器。该芯片系统可以与存储器耦合,使得该芯片系统运行时调用该存储器中存储的计算机程序,实现上述电子设备执行的步骤。其中,该芯片系统中的处理器可以是应用处理器也可以是非应用处理器的处理器。
另外,本申请实施例还提供一种计算机可读存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的页面加载时长的检测方法。
另外,本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在电子设备上运行时,使得电子设备执行上述相关步骤,以实现上述实施例中的页面加载时长的检测方法。
另外,本申请的实施例还提供一种芯片(也可以是组件或模块),该芯片可包括一个或多个处理电路和一个或多个收发管脚;其中,所述收发管脚和所述处理电路通过内部连接通路互相通信,所述处理电路执行上述相关方法步骤实现上述实施例中的页面加载时长的检测方法,以控制接收管脚接收信号,以控制发送管脚发送信号。
此外,通过上述描述可知,本申请实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细地说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (12)
1.一种页面加载时长的检测方法,其特征在于,应用于电子设备,所述方法包括:
显示用户界面,所述用户界面中包括目标选项;
响应于对所述目标选项的点击操作,记载目标页面;
在加载所述目标页面的过程中,获取加载的每一帧对应的直方图数据,所述直方图数据包括每个亮度级别对应的像素数量;
对于每一帧,根据所述直方图数据,确定标准差;
判断连续的多个所述标准差的变化,是否满足预设的阈值变化;
在满足预设的阈值变化时,确定所述目标页面加载完成,获取所述电子设备当前的日志数据;
将所述日志数据和所述目标页面加载过程中对应的标准差,上报到服务器;其中,所述服务器根据所述目标页面加载过程中所述标准差的变化,确定所述目标页面的开始加载时间和结束加载时间,根据所述日志数据确定影响所述目标页面加载时长的原因。
2.根据权利要求1所述的方法,其特征在于,所述判断连续的多个所述标准差的变化,是否满足预设的阈值变化,包括:
根据相邻两帧的标准差,确定所述点击操作后,相邻两帧的标准差是否呈上升趋势,并且在后的一帧对应的标准差大于预设的第一阈值;
在呈上升趋势,并且在后的一帧对应的标准差大于所述第一阈值时,将在后的一帧记为开始加载所述目标页面的起始帧,所述起始帧对应了所述开始加载时间;
从所述起始帧开始,根据连续N帧的标准差,确定所述目标页面加载过程中,对应的标准差是否呈下降趋势,并且下降超过预设的第二阈值,N为大于等于2的整数;
在下降超过所述第二阈值预设次数时,确定连续的多个所述标准差的变化,满足预设的阈值变化。
3.根据权利要求2所述的方法,其特征在于,在所述将在后的一帧记为开始加载所述目标页面的起始帧时,所述方法还包括:
初始化骤降计数器,将所述骤降计数器的值设置为0;
在每次根据连续N帧的标准差,确定所述目标页面加载过程中,对应的标准差呈下载趋势,并且下降超过所述第二阈值时,所述骤降计数器的值增1;
在所述骤降计算器的值达到预设的M时,确定下降超过所述第二阈值预设次数,M为大于0的整数。
4.根据权利要求2所述的方法,其特征在于,在所述将在后的一帧记为开始加载所述目标页面的起始帧时,所述方法还包括:
初始化骤降计数器,将所述骤降计数器的值设置为M,M为大于0的整数;
在每次根据连续N帧的标准差,确定所述目标页面加载过程中,对应的标准差呈下载趋势,并且下降超过所述第二阈值时,所述骤降计数器的值减1;
在所述骤降计算器的值变为0时,确定下降超过所述第二阈值预设次数。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在每次根据连续N帧的标准差,确定所述目标页面加载过程中,对应的标准差呈下载趋势时,确定连续N帧中的最后一帧的标准差是否小于预设的第三阈值;
在小于所述第三阈值时,确定连续的多个所述标准差的变化,满足预设的阈值变化。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
记录开始获取所述直方图数据的开始时间;
在不满足预设的阈值变化时,确定开始获取所述直方图数据的时间距当前时间的时间差值,是否大于预设时间阈值;
在大于所述时间阈值时,获取所述电子设备当前的所述日志数据。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述直方图数据为灰度直方图数据,所述直方图数据包括的亮度级别包括0~255个灰度级别。
8.根据权利要求7所述的方法,其特征在于,所述根据所述直方图数据,确定标准差,包括:
根据0~255个灰度级别分别对应的像素数量,确定所述直方图数据对应的平均值;
根据所述平均值和0~255个灰度级别分别对应的像素数量,确定所述直方图数据对应的方差;
根据所述方差,确定所述标准差。
9.根据权利要求1至5任一项所述的方法,其特征在于,所述用户界面为所述电子设备的主界面,所述主界面中显示了所述电子设备安装的应用程序的图标,所述目标选项为所述电子设备安装的任一应用程序对应的图标,所述目标页面为所述目标选项对应的应用程序的主页面。
10.根据权利要求1至5任一项所述的方法,其特征在于,所述用户界面为所述电子设备安装的任一应用程序的主页面,所述目标选项为所述主页面中显示的选项,所述目标页面为显示所述主页面的应用程序包括的其他页面,所述其他页面不包括所述主页面。
11.一种电子设备,其特征在于,所述电子设备包括:存储器和处理器,所述存储器和所述处理器耦合;所述存储器存储有程序指令,所述程序指令由所述处理器执行时,使得所述电子设备执行如权利要求1至10任意一项所述的页面加载时长的检测方法。
12.一种计算机可读存储介质,其特征在于,包括计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1至10任意一项所述的页面加载时长的检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311351117.XA CN117076284B (zh) | 2023-10-18 | 2023-10-18 | 页面加载时长的检测方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311351117.XA CN117076284B (zh) | 2023-10-18 | 2023-10-18 | 页面加载时长的检测方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117076284A true CN117076284A (zh) | 2023-11-17 |
CN117076284B CN117076284B (zh) | 2024-04-05 |
Family
ID=88715744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311351117.XA Active CN117076284B (zh) | 2023-10-18 | 2023-10-18 | 页面加载时长的检测方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117076284B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015103850A1 (zh) * | 2014-01-09 | 2015-07-16 | 中兴通讯股份有限公司 | 一种网页加载进度控制方法、装置和终端 |
CN105955884A (zh) * | 2016-04-27 | 2016-09-21 | 上海携程商务有限公司 | App页面白屏检查方法及装置 |
CN110717122A (zh) * | 2019-09-26 | 2020-01-21 | 北京华宇信息技术有限公司 | 页面性能采集方法、装置及电子设备 |
CN111104295A (zh) * | 2019-11-12 | 2020-05-05 | 华为技术有限公司 | 一种页面加载过程的测试方法及设备 |
CN111752817A (zh) * | 2020-06-30 | 2020-10-09 | 汉海信息技术(上海)有限公司 | 页面加载时长的确定方法、装置、设备及存储介质 |
CN112084444A (zh) * | 2019-06-12 | 2020-12-15 | 腾讯科技(深圳)有限公司 | 页面加载时间检测方法、装置和计算机可读存储介质 |
CN113688043A (zh) * | 2021-08-25 | 2021-11-23 | 北京三快在线科技有限公司 | 应用程序测试方法、装置、服务器、iOS设备及介质 |
CN114491326A (zh) * | 2020-10-27 | 2022-05-13 | 浙江宇视科技有限公司 | 一种网页加载状态检测方法、装置、电子设备及存储介质 |
CN116468914A (zh) * | 2023-04-21 | 2023-07-21 | 抖音视界有限公司 | 页面对比方法、装置、存储介质及电子设备 |
-
2023
- 2023-10-18 CN CN202311351117.XA patent/CN117076284B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015103850A1 (zh) * | 2014-01-09 | 2015-07-16 | 中兴通讯股份有限公司 | 一种网页加载进度控制方法、装置和终端 |
CN105955884A (zh) * | 2016-04-27 | 2016-09-21 | 上海携程商务有限公司 | App页面白屏检查方法及装置 |
CN112084444A (zh) * | 2019-06-12 | 2020-12-15 | 腾讯科技(深圳)有限公司 | 页面加载时间检测方法、装置和计算机可读存储介质 |
CN110717122A (zh) * | 2019-09-26 | 2020-01-21 | 北京华宇信息技术有限公司 | 页面性能采集方法、装置及电子设备 |
CN111104295A (zh) * | 2019-11-12 | 2020-05-05 | 华为技术有限公司 | 一种页面加载过程的测试方法及设备 |
CN111752817A (zh) * | 2020-06-30 | 2020-10-09 | 汉海信息技术(上海)有限公司 | 页面加载时长的确定方法、装置、设备及存储介质 |
CN114491326A (zh) * | 2020-10-27 | 2022-05-13 | 浙江宇视科技有限公司 | 一种网页加载状态检测方法、装置、电子设备及存储介质 |
CN113688043A (zh) * | 2021-08-25 | 2021-11-23 | 北京三快在线科技有限公司 | 应用程序测试方法、装置、服务器、iOS设备及介质 |
CN116468914A (zh) * | 2023-04-21 | 2023-07-21 | 抖音视界有限公司 | 页面对比方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117076284B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11430358B2 (en) | Frequency adjustment method and apparatus applied to terminal, and electronic device | |
CN113254120B (zh) | 数据处理方法和相关装置 | |
CN110865837B (zh) | 一种进行系统升级的方法和终端 | |
CN114077529B (zh) | 日志上传方法、装置、电子设备及计算机可读存储介质 | |
CN116680153B (zh) | 应用帧率平滑方法、电子设备及存储介质 | |
WO2022247446A1 (zh) | 一种性能优化方法以及相关设备 | |
CN112114733A (zh) | 一种截屏、录屏方法、移动终端及计算机存储介质 | |
CN112817634A (zh) | Cota包下载方法及装置 | |
CN115333941B (zh) | 获取应用运行情况的方法及相关设备 | |
CN112817610B (zh) | cota包安装方法及相关装置 | |
CN114257502B (zh) | 一种日志上报方法及装置 | |
CN116916093B (zh) | 识别卡顿的方法、电子设备及存储介质 | |
CN115119048B (zh) | 一种视频流处理方法及电子设备 | |
CN117076284B (zh) | 页面加载时长的检测方法、设备及存储介质 | |
CN116700601B (zh) | 内存优化方法、设备及存储介质 | |
CN116347217B (zh) | 图像处理方法、设备及存储介质 | |
CN115941674B (zh) | 多设备应用接续方法、设备及存储介质 | |
CN116052236B (zh) | 人脸检测处理引擎、涉及人脸检测的拍摄方法及设备 | |
CN113641431B (zh) | 二维码的增强显示的方法和终端设备 | |
CN116662130A (zh) | 统计应用使用时长的方法、电子设备及可读存储介质 | |
CN113253905A (zh) | 基于多指操作的触控方法及智能终端 | |
CN116744106B (zh) | 相机应用的控制方法和终端设备 | |
CN117956264B (zh) | 拍摄方法、电子设备、存储介质和程序产品 | |
CN117707662B (zh) | 界面显示方法及电子设备 | |
CN116662150B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |