应用程序的卡顿检测方法、装置、终端及介质制造方法及图纸

技术编号:26375811 阅读:32 留言:0更新日期:2020-11-19 23:44
本申请公开了一种应用程序的卡顿检测方法、装置、终端及介质。其中方法包括:确定集成在目标应用中的卡顿检测工具;基于卡顿检测工具,获取目标应用中多个帧画面刷新信号;依据多个帧画面刷新信号分别对应的时间,确定预定数量个帧画面刷新信号的刷新时长;若刷新时长大于预设刷新时长阈值,则确定目标应用发生卡顿。本申请通过将卡顿检测工具集成在目标应用中的方式,不仅无需在应用的多处增加卡顿检测代码,起到了维护应用中代码优雅性的效果,还降低了对应用进行卡顿检测的开发成本,而通过预定数量的帧画面来进行卡顿判断的方式,则避免了因偶发性因素导致的刷新延迟导致的卡顿检测准确率低的问题,提高了卡顿的检测效率。

【技术实现步骤摘要】
应用程序的卡顿检测方法、装置、终端及介质
本申请涉及计算机
,具体涉及一种应用程序的卡顿检测方法、装置、终端及介质。
技术介绍
卡顿现象是出现在手机、笔记本等电子设备中的一种现象,其出现的状况为:进行各种电子设备操作过程中,例如玩游戏的时候游戏画面不顺畅,或者听音乐的时候画面滞帧,也就是通常人们所说的“卡”。软件设计缺陷是出现卡顿现象的原因之一,因此避免因软件设计导致的卡顿的发生几率,需要在研发过程中及时进行检测。相关技术中,主要是通过在每行代码中打点,即在每行代码处插入卡顿检测代码来进行检测。这种方式,不仅需要到处打点,增加了工作成本,而且严重影响对代码程序的阅读和观感;同时,因release环境上报服务器进程与APP的主进程是一体的,容易造成进程上CPU调度、内存等挤在一起,影响主进程。
技术实现思路
为了解决上述至少一个技术问题,本申请提供一种应用程序的卡顿检测方法、装置、终端及介质。根据本申请的第一方面,提供了一种应用程序的卡顿检测方法,该方法包括:确定集成在目标应用中的卡顿检测工具;基于卡顿检测工具,获取目标应用中多个帧画面刷新信号;依据多个帧画面刷新信号分别对应的时间,确定预定数量个帧画面的刷新时长;若刷新时长大于预设刷新时长阈值,则确定目标应用发生卡顿。进一步地,基于卡顿检测工具,获取目标应用中多个帧画面刷新信号之前,该方法还包括:在目标应用中,配置卡顿检测工具发送帧画面刷新信号的触发条件,触发条件为预定数量个帧画面完成刷新。进一步地,依据多个帧画面刷新信号分别对应的时间,确定预定数量个帧画面的刷新时长,包括:基于相邻两个帧画面刷新信号分别对应时间,确定预定数量个帧画面的刷新时长。进一步地,依据多个帧画面刷新信号分别对应的时间,确定预定数量个帧画面的刷新时长,包括:基于预设的信号数量,对多个帧画面刷新信号进行分组;依据相邻两个分组,确定预定数量个帧画面的刷新时长。进一步地,该方法还包括:依据预定数量个帧画面,生成卡顿日志;对卡顿日志进行上报处理。进一步地,对卡顿日志进行上报处理,包括以下至少一个步骤:将卡顿日志通过目标应用的消息通知窗口进行显示处理;将卡顿日志发送至服务器,以依据卡顿日志进行分析。进一步地,依据预定数量个帧画面,生成卡顿日志,包括:确定卡顿开始位置;基于卡顿开始位置和预定义的卡顿位置偏移量,确定发生卡顿的用户界面UI日志、CPU相关信息和内存相关信息;依据用户界面UI日志、CPU相关信息和内存相关信息,确定卡顿日志。根据本申请的第二方面,提供了一种应用程序的卡顿检测装置,该装置包括:卡顿检测工具确定模块,用于确定集成在目标应用中的卡顿检测工具;帧画面信号获取模块,用于基于卡顿检测工具,获取目标应用中多个帧画面刷新信号;刷新时长确定模块,用于依据多个帧画面刷新信号分别对应的时间,确定预定数量个帧画面的刷新时长;应用卡顿检测模块,用于若刷新时长大于预设刷新时长阈值,则确定目标应用发生卡顿。进一步地,帧画面信号获取模块之前,该装置还包括:触发条件配置模块,用于在目标应用中,配置卡顿检测工具发送帧画面刷新信号的触发条件,触发条件为预定数量个帧画面完成刷新。进一步地,刷新时长确定模块包括:第一确定子模块,用于基于相邻两个帧画面刷新信号分别对应时间,确定预定数量个帧画面的刷新时长。进一步地,刷新时长确定模块包括:分组处理子模块,用于基于预设的信号数量,对多个帧画面刷新信号进行分组;第二确定子模块,用于依据相邻两个分组,确定预定数量个帧画面的刷新时长。进一步地,该装置还包括:日志生成模块,用于依据预定数量个帧画面,生成卡顿日志;日志上报模块,用于对卡顿日志进行上报处理。进一步地,日志上报模块包括以下至少一个子模块:窗口上报子模块,用于将卡顿日志通过目标应用的消息通知窗口进行显示处理;云端上报子模块,用于将卡顿日志发送至服务器,以依据卡顿日志进行分析。进一步地,日志生成模块包括:卡顿定位子模块,用于确定卡顿开始位置;卡顿信息确定子模块,用于基于卡顿开始位置和预定义的卡顿位置偏移量,确定发生卡顿的用户界面UI日志、CPU相关信息和内存相关信息;卡顿日志确定子模块,用于依据用户界面UI日志、CPU相关信息和内存相关信息,确定卡顿日志。根据本申请的第三方面,提供了一种终端,该终端包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时以实现上述应用程序的卡顿检测方法。根据本申请的第四方面,提供了一种计算机可读存储介质,该介质存储有计算机可执行指令,该计算机可执行指令用于以执行上述应用程序的卡顿检测方法。本申请实施例通过确定集成在目标应用中的卡顿检测工具,以利用该卡顿检测工具,获取目标应用中预定数量个帧画面刷新信号,从而依据预定数量个帧画面刷新信号分别对应的时间,确定预定数量个帧画面刷新信号的刷新时长,并在刷新时长大于预设的刷新时长阈值的情形下,确定目标应用发生卡顿,这种将卡顿检测工具集成在目标应用中的方式,不仅无需在应用的多处增加卡顿检测代码,起到了维护应用中代码优雅性的效果,还降低了对应用进行卡顿检测的开发成本,而通过预定数量的帧画面来进行卡顿判断的方式,则避免了因偶发性因素导致的刷新延迟导致的卡顿检测准确率低的问题,提高了卡顿的检测效率。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。图1为本申请实施例提供的一种应用程序的卡顿检测方法的流程示意图;图2为根据本申请实施例提供的一种应用程序的卡顿检测装置的框图结构示意图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。首先对本申请涉及的几个名词进行介绍和解释:在本申请实施例中,用户界面UI线程是指应用的UI交互的线程,可以对事件进行分发。例如,检测到用户在电子设备的屏幕上的按钮的点击操作时,用户界面UI线程会把点击时间交给view处理,view接到事件后会设置它的pressed状态,然后向事件队列中发送一个invalidate请求。为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。根据本申请的一个实施例,提供了一种应用程序的卡顿检测方法,如图1所示,该方本文档来自技高网...

【技术保护点】
1.一种应用程序的卡顿检测方法,其特征在于,包括:/n确定集成在目标应用中的卡顿检测工具;/n基于所述卡顿检测工具,获取所述目标应用中多个帧画面刷新信号;/n依据多个所述帧画面刷新信号分别对应的时间,确定预定数量个所述帧画面的刷新时长;/n若所述刷新时长大于预设刷新时长阈值,则确定所述目标应用发生卡顿。/n

【技术特征摘要】
1.一种应用程序的卡顿检测方法,其特征在于,包括:
确定集成在目标应用中的卡顿检测工具;
基于所述卡顿检测工具,获取所述目标应用中多个帧画面刷新信号;
依据多个所述帧画面刷新信号分别对应的时间,确定预定数量个所述帧画面的刷新时长;
若所述刷新时长大于预设刷新时长阈值,则确定所述目标应用发生卡顿。


2.根据权利要求1所述的方法,其特征在于,所述基于所述卡顿检测工具,获取所述目标应用中多个帧画面刷新信号之前,所述方法还包括:
在所述目标应用中,配置所述卡顿检测工具发送所述帧画面刷新信号的触发条件,所述触发条件为预定数量个所述帧画面完成刷新。


3.根据权利要求2所述的方法,其特征在于,所述依据多个所述帧画面刷新信号分别对应的时间,确定预定数量个所述帧画面的刷新时长,包括:
基于相邻两个所述帧画面刷新信号分别对应时间,确定预定数量个所述帧画面的刷新时长。


4.根据权利要求1所述的方法,其特征在于,所述依据多个所述帧画面刷新信号分别对应的时间,确定预定数量个所述帧画面的刷新时长,包括:
基于预设的信号数量,对多个所述帧画面刷新信号进行分组;
依据相邻两个分组,确定预定数量个所述帧画面的刷新时长。


5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
依据预定数量个所述帧画面,生成卡顿日志;
对所述卡顿日志进行上报处理。


6.根据权利要求4所...

【专利技术属性】
技术研发人员:陈方毅吴旻建
申请(专利权)人:厦门美柚股份有限公司
类型:发明
国别省市:福建;35

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

1