技术特征:
1.一种卡顿检测方法,其特征在于,所述方法包括:在确定操作系统处于运行状态的情况下,获取卡顿检测参数,所述卡顿检测参数包括消息处理状态参数和所述操作系统中ui线程的当前帧能力,所述消息处理状态参数用于表征所述操作系统在通过所述ui线程处理数据过程中的数据处理负担,所述当前帧能力用于表征所述操作系统下ui线程绘制窗口的能力;根据所述卡顿检测参数确定操作系统的卡顿状态,所述卡顿状态包括存在卡顿的状态和非卡顿的状态。2.根据权利要求1所述的方法,其特征在于,所述根据所述卡顿检测参数确定操作系统的卡顿状况,包括:在确定所述消息处理状态参数表征所述操作系统在通过所述ui线程处理数据过程中的数据处理负担大于预设负担阈值的情况下,确定存在卡顿;或者,在确定所述当前帧能力小于预设帧能力阈值的情况下,确定存在卡顿。3.根据权利要求2所述的方法,其特征在于,所述消息处理状态参数包括:系统cpu时间与墙上时钟时间的目标比值,所述预设负担阈值包括预设比值阈值;所述确定所述消息处理状态参数表征所述操作系统在通过所述ui线程处理数据过程中的数据处理负担大于预设负担阈值包括:在所述目标比值小于所述预设比值阈值的情况下,确定所述操作系统在通过所述ui线程处理数据过程中的数据处理负担大于预设负担阈值。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:在确定所述消息处理状态参数表征所述操作系统在通过所述ui线程处理数据过程中的数据处理负担大于预设负担阈值的情况下,输出卡顿对象的引用链信息,所述引用链信息包括所述卡顿对象的引用链。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:在确定所述卡顿状态为存在卡顿的状态的情况下,获取操作系统的系统运行状态参数;根据所述系统运行状态参数确定卡顿原因。6.根据权利要求5所述的方法,其特征在于,所述系统运行状态参数包括内存压力,i/o压力,cpu负载率和cpu空闲率中的一个或多个,所述根据所述系统运行状态参数确定卡顿原因,包括:在所述内存压力大于或者等于第一预设阈值的情况下,确定所述卡顿原因包括内存卡顿;在所述i/o压力大于或者等于第二预设阈值的情况下,确定所述卡顿原因包括i/o卡顿;在所述cpu负载率大于预设负载率阈值,或者所述cpu空闲率小于预设空闲率阈值的情况下,确定卡顿原因包括cpu负载过大。7.根据权利要求1-6任一项所述的方法,其特征在于,所述获取卡顿检测参数包括:获取ui线程中当前窗口的绘制时间;根据所述绘制时间确定单位时间内能够绘制窗口的帧数,以得到所述当前帧能力。8.一种卡顿检测装置,其特征在于,所述装置包括:
第一获取模块,被配置为在确定操作系统处于运行状态的情况下,获取卡顿检测参数,所述卡顿检测参数包括消息处理状态参数和/或所述操作系统中ui线程的当前帧能力,所述消息处理状态参数用于表征所述操作系统在通过所述ui线程处理数据过程中的数据处理负担,所述当前帧能力用于表征所述操作系统下ui线程绘制窗口的能力;第一确定模块,被配置为根据所述卡顿检测参数确定操作系统的卡顿状态,所述卡顿状态包括存在卡顿的状态和非卡顿的状态。9.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现权利要求1-7中任一项所述方法的步骤。10.一种电子设备,其特征在于,包括:存储装置,其上存储有一个或多个计算机程序;一个或多个处理装置,用于执行所述存储装置中的所述一个或多个计算机程序,以实现权利要求1-7中任一项所述方法的步骤。
技术总结
本公开涉及一种卡顿检测方法、装置、可读介质及电子设备,该卡顿检测方法通过在确定操作系统处于运行状态的情况下,获取卡顿检测参数,该卡顿检测参数包括消息处理状态参数和该操作系统中UI线程的当前帧能力,该消息处理状态参数用于表征该操作系统在通过该UI线程处理数据过程中的数据处理负担;根据该卡顿检测参数确定操作系统的卡顿状态,这样,不仅能够通过应用层面中UI线程绘制窗口的能力检测卡顿,还可以通过该消息处理参数检测UI线程处理数据过程中所承受的操作系统压力程度,从而实现根据系统层面的数据处理负担进行卡顿检测,能够全面有效的检测卡顿,有利于提升卡顿检测结果的可靠性。结果的可靠性。结果的可靠性。
技术研发人员:詹云桥
受保护的技术使用者:北京字节跳动网络技术有限公司
技术研发日:2021.11.11
技术公布日:2022/2/18