卡顿检测方法、装置、可读介质及电子设备制造方法及图纸

技术编号:32359341 阅读:19 留言:0更新日期:2022-02-20 03:24
本公开涉及一种卡顿检测方法、装置、可读介质及电子设备,该卡顿检测方法通过在确定操作系统处于运行状态的情况下,获取卡顿检测参数,该卡顿检测参数包括消息处理状态参数和该操作系统中UI线程的当前帧能力,该消息处理状态参数用于表征该操作系统在通过该UI线程处理数据过程中的数据处理负担;根据该卡顿检测参数确定操作系统的卡顿状态,这样,不仅能够通过应用层面中UI线程绘制窗口的能力检测卡顿,还可以通过该消息处理参数检测UI线程处理数据过程中所承受的操作系统压力程度,从而实现根据系统层面的数据处理负担进行卡顿检测,能够全面有效的检测卡顿,有利于提升卡顿检测结果的可靠性。结果的可靠性。结果的可靠性。

【技术实现步骤摘要】
卡顿检测方法、装置、可读介质及电子设备


[0001]本公开涉及计算机
,具体地,涉及一种卡顿检测方法、装置、可读介质及电子设备。

技术介绍

[0002]目前,针对卡顿现象,通常的检测方法是基于ASM插桩技术,将全局class文件作为检测系统输入,利用ASM工具对所有class文件进行扫描和插桩,以实现通过对全局函数的检测达到检测卡顿的目的。
[0003]然而,很多偶发卡顿问题并不是函数本身造成的,仅通过对全局函数的检测,是无法全面获取卡顿现象的。

技术实现思路

[0004]提供该部分内容以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该部分内容并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
[0005]本公开提供了一种卡顿检测方法、装置、可读介质及电子设备。
[0006]第一方面,本公开提供一种卡顿检测方法,所述方法包括:
[0007]在确定操作系统处于运行状态的情况下,获取卡顿检测参数,所述卡顿检测参数包括消息处理状态参数和所述操作系统中UI线程的当前帧能力,所述消息处理状态参数用于表征所述操作系统在通过所述UI线程处理数据过程中的数据处理负担,所述当前帧能力用于表征所述操作系统下UI线程绘制窗口的能力;
[0008]根据所述卡顿检测参数确定操作系统的卡顿状态,所述卡顿状态包括存在卡顿的状态和非卡顿的状态。
[0009]第二方面,本公开提供一种卡顿检测装置,所述装置包括:
[0010]第一获取模块,被配置为在确定操作系统处于运行状态的情况下,获取卡顿检测参数,所述卡顿检测参数包括消息处理状态参数和/或所述操作系统中UI线程的当前帧能力,所述消息处理状态参数用于表征所述操作系统在通过所述UI线程处理数据过程中的数据处理负担,所述当前帧能力用于表征所述操作系统下UI线程绘制窗口的能力;
[0011]第一确定模块,被配置为根据所述卡顿检测参数确定操作系统的卡顿状态,所述卡顿状态包括存在卡顿的状态和非卡顿的状态。
[0012]第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现以上第一方面所述方法的步骤。
[0013]第四方面,本公开提供一种电子设备,包括:
[0014]存储装置,其上存储有一个或多个计算机程序;
[0015]一个或多个处理装置,用于执行所述存储装置中的所述一个或多个计算机程序,以实现以上第一方面所述方法的步骤。
[0016]上述技术方案,通过在确定操作系统处于运行状态的情况下,获取卡顿检测参数,所述卡顿检测参数包括消息处理状态参数和所述操作系统中UI线程的当前帧能力,所述消息处理状态参数用于表征所述操作系统在通过所述UI线程处理数据过程中的数据处理负担,所述当前帧能力用于表征所述操作系统下UI线程绘制窗口的能力;根据所述卡顿检测参数确定操作系统的卡顿状态,这样,不仅能够通过应用层面中UI线程绘制窗口的能力检测卡顿,还可以通过该消息处理参数检测UI线程处理数据过程中所承受的操作系统压力,从而实现根据系统层面的数据处理负担进行卡顿检测,能够全面有效的检测卡顿,有利于提升卡顿检测结果的可靠性。
[0017]本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
[0018]结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
[0019]图1是本公开一示例性实施例示出的一种卡顿检测方法的流程图;
[0020]图2是本公开一示例性实施例示出的一种引用链信息的获取示意图;
[0021]图3是根据图1所示实施例示出的一种卡顿检测方法的流程图;
[0022]图4是本公开一示例性实施例示出的一种卡顿检测装置的框图;
[0023]图5是根据图4所示实施例示出的一种卡顿检测装置的框图;
[0024]图6是本公开一示例性实施例示出的一种电子设备的框图。
具体实施方式
[0025]下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0026]应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
[0027]本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
[0028]需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
[0029]需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0030]本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
[0031]在详细介绍本公开的具体实施方式之前,首先,对本公开的应用场景进行以下说明,本公开可以应用于对电子设备运行过程中的卡顿现象进行检测的场景中,该电子设备可以是计算机,手机,个人电脑,智能手表等。相关技术中,针对卡顿的检测,通常是基于插桩的方式,通过代理编译期间的任务transformClassesWithDexTask,将全局class文件作为输入,利用ASM工具对所有class文件进行扫描及插桩,其中,插桩的意思是在每一个方法的开头处插入AppMethodBeat.i方法,在方法的结尾处插入AppMethodBeat.o方法,并记录时间戳,以获取该方法的执行耗时,从而获取全局函数的执行耗时,根据该执行耗时确定是否存在卡顿。然而,很多偶发卡顿问题并不是函数本身造成的,仅通过对全局函数的检测,是无法全面检测卡顿现象的。
[0032]为了解决上述技术问题,本公开提供了一种卡顿检测方法、装置、可读介质及电子设备,该卡顿检测方法通过在确定操作系统处于运行状态的情况下,获取卡顿检测参数,该卡顿检测参数包括消息处理状态参数和该操作系统中UI线程的当前帧能力,该消息处理状态参数用于表征该操作系统在通过该UI线程处理数据过程中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种卡顿检测方法,其特征在于,所述方法包括:在确定操作系统处于运行状态的情况下,获取卡顿检测参数,所述卡顿检测参数包括消息处理状态参数和所述操作系统中UI线程的当前帧能力,所述消息处理状态参数用于表征所述操作系统在通过所述UI线程处理数据过程中的数据处理负担,所述当前帧能力用于表征所述操作系统下UI线程绘制窗口的能力;根据所述卡顿检测参数确定操作系统的卡顿状态,所述卡顿状态包括存在卡顿的状态和非卡顿的状态。2.根据权利要求1所述的方法,其特征在于,所述根据所述卡顿检测参数确定操作系统的卡顿状况,包括:在确定所述消息处理状态参数表征所述操作系统在通过所述UI线程处理数据过程中的数据处理负担大于预设负担阈值的情况下,确定存在卡顿;或者,在确定所述当前帧能力小于预设帧能力阈值的情况下,确定存在卡顿。3.根据权利要求2所述的方法,其特征在于,所述消息处理状态参数包括:系统CPU时间与墙上时钟时间的目标比值,所述预设负担阈值包括预设比值阈值;所述确定所述消息处理状态参数表征所述操作系统在通过所述UI线程处理数据过程中的数据处理负担大于预设负担阈值包括:在所述目标比值小于所述预设比值阈值的情况下,确定所述操作系统在通过所述UI线程处理数据过程中的数据处理负担大于预设负担阈值。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:在确定所述消息处理状态参数表征所述操作系统在通过所述UI线程处理数据过程中的数据处理负担大于预设负担阈值的情况下,输出卡顿对象的引用链信息,所述引用链信息包括所述卡顿对象的引用链。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:在确定所述卡顿状态为存在卡顿的状态的情况下,获取操作系统的系统运行状态参数;根据所述系统运行状态参数确定卡顿原因。6.根据权利要求5...

【专利技术属性】
技术研发人员:詹云桥
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:

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

1