卡顿分析方法、装置、存储介质和计算设备制造方法及图纸

技术编号:23764017 阅读:27 留言:0更新日期:2020-04-11 18:53
本发明专利技术的实施方式提供了一种卡顿分析方法、装置、存储介质和计算设备,所述的卡顿分析方法包括:在应用程序的运行过程中,记录在特定线程的特定模式下,多个运行循环的运行数据;基于记录的多个运行循环的运行数据,得到所述应用程序的卡顿情况。利用本发明专利技术的实施例能够实现对终端应用程序的卡顿分析。

Carton analysis method, device, storage medium and computing equipment

【技术实现步骤摘要】
卡顿分析方法、装置、存储介质和计算设备
本专利技术的实施方式涉及信息
,更具体地,本专利技术的实施方式涉及卡顿分析方法、装置、存储介质和计算设备。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。通常,在终端设备运行应用程序(Application,可简写为APP)时,终端将为该APP开启一条主线程,主线程也可称为用户界面UI线程,可处理UI事件例如刷新显示UI等。运行循环(Runloop)通常指事件处理循环,用于实现事件的接收与分发,Runloop是线程的基本组成,可使线程在有待处理事件时工作,无工作时休眠,从而节省资源。在实际应用中,APP运行过程中时常会发生卡顿,有些由外部原因导致,例如网络问题,有些由内部原因导致,例如APP运行环境问题等等。如何准确快速地对卡顿情况进行分析,便于排除卡顿的诱因,提高系统整体性能,是目前研究的重点和热点之一。
技术实现思路
本专利技术期望提供一种卡顿分析方法、装置、存储介质和计算设备,以至少解决上述技术问题。第一方面,本专利技术实施例提供一种卡顿分析方法,所述方法包括:在应用程序的运行过程中,记录在特定线程的特定模式下,多个运行循环的运行数据;基于记录的多个运行循环的运行数据,得到所述应用程序的卡顿情况。根据本专利技术实施例的卡顿分析方法,所述运行数据包括运行循环的事件处理周期时长。根据本专利技术实施例的卡顿分析方法,所述基于记录的多个运行循环的运行数据,得到所述应用程序的卡顿情况,包括:在存在至少一个运行循环的事件处理周期时长大于或等于预设阈值的情况下,确定所述应用程序出现卡顿。根据本专利技术实施例的卡顿分析方法,所述方法还包括:基于所述事件处理周期时长大于或等于预设阈值的至少一个运行循环的事件处理周期时长和所述多个运行循环的事件处理周期时长,确定所述应用程序的卡顿指标值。根据本专利技术实施例的卡顿分析方法,所述卡顿指标值包括所述事件处理周期时长大于或等于预设阈值的至少一个运行循环的事件处理周期时长之和与所述多个运行循环的事件处理周期时长之和的比值;或者,所述卡顿指标值包括所述事件处理周期时长大于或等于预设阈值的至少一个运行循环中发生界面重绘的运行循环的事件处理周期时长之和与所述多个运行循环中发生界面重绘的运行循环的事件处理周期时长之和的比值。根据本专利技术实施例的卡顿分析方法,所述方法还包括:基于所述事件处理周期时长大于或等于预设阈值的至少一个运行循环的数量和所述多个运行循环的数量,确定所述应用程序的卡顿指标值。根据本专利技术实施例的卡顿分析方法,所述卡顿指标值包括所述事件处理周期时长大于或等于预设阈值的至少一个运行循环的数量与所述多个运行循环的数量的比值;或者,所述卡顿指标值包括所述事件处理周期时长大于或等于预设阈值的至少一个运行循环中发生界面重绘的运行循环的数量与所述多个运行循环中发生界面重绘的运行循环的数量的比值。根据本专利技术实施例的卡顿分析方法,所述运行数据还包括运行循环对应的方法单元信息,所述方法单元信息包括运行循环中调用的方法单元的信息;在确定所述应用程序出现卡顿之后,所述方法还包括:基于所述事件处理周期时长大于或等于预设阈值的至少一个运行循环对应的方法单元信息,对卡顿进行定位。根据本专利技术实施例的卡顿分析方法,其中,所述基于所述事件处理周期时长大于或等于预设阈值的至少一个运行循环对应的方法单元信息,对卡顿进行定位,包括:确定所述事件处理周期时长大于或等于预设阈值的至少一个运行循环中的至少一个方法单元的参考指标值,根据所述参考指标值确定所述至少一个方法单元是否引发卡顿;其中,所述参考指标值包括以下各项中的至少一项:方法单元在运行循环中的调用次数、方法单元在运行循环中的耗时占比、方法单元在运行循环中的总耗时时长。根据本专利技术实施例的卡顿分析方法,所述方法单元信息包括关于界面重绘的方法单元的信息。根据本专利技术实施例的卡顿分析方法,所述特定线程包括所述应用程序的的主线程;和/或,所述特定模式包括以下各种模式中的至少一种模式:初始化模式、缺省模式、视图滚动模式。第二方面,本专利技术实施例提供一种卡顿分析装置,所述装置包括:运行数据记录模块,用于在应用程序的运行过程中,记录在特定线程的特定模式下,多个运行循环的运行数据;卡顿情况分析模块,用于基于记录的多个运行循环的运行数据,得到所述应用程序的卡顿情况。根据本专利技术实施例的卡顿分析装置,所述运行数据包括运行循环的事件处理周期时长。根据本专利技术实施例的卡顿分析装置,所述运行数据记录模块包括:确定卡顿子模块,用于在存在至少一个运行循环的事件处理周期时长大于或等于预设阈值的情况下,确定所述应用程序出现卡顿。根据本专利技术实施例的卡顿分析装置,所述装置还包括:第一卡顿指标值确定模块,用于基于所述事件处理周期时长大于或等于预设阈值的至少一个运行循环的事件处理周期时长和所述多个运行循环的事件处理周期时长,确定所述应用程序的卡顿指标值。根据本专利技术实施例的卡顿分析装置,所述卡顿指标值包括所述事件处理周期时长大于或等于预设阈值的至少一个运行循环的事件处理周期时长之和与所述多个运行循环的事件处理周期时长之和的比值;或者,所述卡顿指标值包括所述事件处理周期时长大于或等于预设阈值的至少一个运行循环中发生界面重绘的运行循环的事件处理周期时长之和与所述多个运行循环中发生界面重绘的运行循环的事件处理周期时长之和的比值。根据本专利技术实施例的卡顿分析装置,所述装置还包括:第二卡顿指标值确定模块,用于基于所述事件处理周期时长大于或等于预设阈值的至少一个运行循环的数量和所述多个运行循环的数量,确定所述应用程序的卡顿指标值。根据本专利技术实施例的卡顿分析装置,所述卡顿指标值包括所述事件处理周期时长大于或等于预设阈值的至少一个运行循环的数量与所述多个运行循环的数量的比值;或者,所述卡顿指标值包括所述事件处理周期时长大于或等于预设阈值的至少一个运行循环中发生界面重绘的运行循环的数量与所述多个运行循环中发生界面重绘的运行循环的数量的比值。根据本专利技术实施例的卡顿分析装置,所述运行数据还包括运行循环对应的方法单元信息,所述方法单元信息包括运行循环中调用的方法单元的信息;所述装置还包括:卡顿定位模块,用于在确定所述应用程序出现卡顿之后,基于所述事件处理周期时长大于或等于预设阈值的至少一个运行循环对应的方法单元信息,对卡顿进行定位。根据本专利技术实施例的卡顿分析装置,其中,所述卡顿定位模块包括:参考指标值确定子模块,用于确定所述事件处理周期时长大于或等于预设阈值的至少一个运行循环中的至少一个方法单元的参考指标值;以及,卡顿定位分析子模块,用于根据所述参考指标值确定所述至少一个方法单元是否引发卡顿;其中,所述参考指标值包括以下各项中的至少一项:方法单元在运行循环中的调用次数、方法单元在运行循环中的耗时占比、方法单元在运行循环中的总耗时时长。根据本专利技术实施例的卡顿分析装置,所述方法单元信息包括关于界面本文档来自技高网...

【技术保护点】
1.一种卡顿分析方法,其特征在于,所述方法包括:/n在应用程序的运行过程中,记录在特定线程的特定模式下,多个运行循环的运行数据;/n基于记录的多个运行循环的运行数据,得到所述应用程序的卡顿情况。/n

【技术特征摘要】
1.一种卡顿分析方法,其特征在于,所述方法包括:
在应用程序的运行过程中,记录在特定线程的特定模式下,多个运行循环的运行数据;
基于记录的多个运行循环的运行数据,得到所述应用程序的卡顿情况。


2.根据权利要求1所述的方法,其特征在于,所述运行数据包括运行循环的事件处理周期时长。


3.根据权利要求2所述的方法,其特征在于,所述基于记录的多个运行循环的运行数据,得到所述应用程序的卡顿情况,包括:
在存在至少一个运行循环的事件处理周期时长大于或等于预设阈值的情况下,确定所述应用程序出现卡顿。


4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
基于所述事件处理周期时长大于或等于预设阈值的至少一个运行循环的事件处理周期时长和所述多个运行循环的事件处理周期时长,确定所述应用程序的卡顿指标值。


5.根据权利要求4所述的方法,其特征在于,所述卡顿指标值包括所述事件处理周期时长大于或等于预设阈值的至少一个运行循环的事件处理周期时长之和与所述多个运行循环的事件处理周期时长之和的比值;
或者,
所述卡顿指标值包括所述事件处理周期时长大于或等于预设阈值的至少一个运行循环中发生界面重绘的运行循环的事件处理周期时长之和与所述多个运行循环中发生界面重绘的运行循环的事件处理周期时长之和的比值。


6.根据权利要求3-5中任一项所述的方法,其特征在于,所述运行数据还包括运行循环对应的方法单元信息,所述方法单元信息包...

【专利技术属性】
技术研发人员:黄旭
申请(专利权)人:天津网之易创新科技有限公司
类型:发明
国别省市:天津;12

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

1