【技术实现步骤摘要】
冻屏检测方法、装置、终端设备及计算机存储介质
[0001]本申请属于数据处理
,尤其涉及一种冻屏检测方法、装置、终端设备及计算机存储介质。
技术介绍
[0002]冻屏,是指终端设备在一定时间内无法响应用户的控制操作。目前出现冻屏故障的原因主要有两种,一种是系统问题,另一种为应用程序自身的问题。
[0003]当应用程序的主线程存在消息拥挤、阻塞故障时,可能存在冻屏故障。此时,整个系统是正常的,只有故障应用程序的界面卡住不动。
[0004]当终端设备出现冻屏故障时,会对极度影响用户的使用体验。因此,当前存在一些检测应用程序主线程状态的方案,当终端设备通过这些方案检测到应用程序的主线程存在消息堵塞情况时,就判定出现冻屏故障,指示终端设备执行相应的应用恢复操作。
[0005]但是,上述冻屏检测方案的准确性低,容易将非冻屏故障误识别为冻屏故障,从而使终端设备误执行应用恢复操作,影响用户的使用体验。
技术实现思路
[0006]有鉴于此,本申请实施例提供了一种冻屏检测方法、装置、终端设备及计算 ...
【技术保护点】
【技术特征摘要】
1.一种冻屏检测方法,其特征在于,包括:监测主线程中待处理的消息的处理时长;若所述待处理的消息的处理时长大于或等于预设时长阈值,且与所述主线程连接的输入事件管道中存在用户输入事件或所述主线程的消息队列中存在垂直同步信号,则判定发生冻屏故障,记录冻屏故障日志。2.如权利要求1所述的冻屏检测方法,其特征在于,所述处理时长包括驻留时长;所述监测主线程中待处理的消息的处理时长包括:获取所述待处理的消息进入所述主线程的消息队列的第一时间以及所述待处理的消息离开所述消息队列的第二时间;根据所述第一时间和所述第二时间计算所述待处理的消息的驻留时长;所述若所述待处理的消息的处理时长大于或等于预设时长阈值,且与所述主线程连接的输入事件管道中存在用户输入事件或所述主线程的消息队列中存在垂直同步信号,则判定发生冻屏故障,记录冻屏故障日志包括:若所述待处理的消息的驻留时长大于或等于预设驻留阈值,且与所述主线程连接的输入事件管道中存在用户输入事件或所述主线程的消息队列中存在垂直同步信号,则判定发生冻屏故障,抓取所述主线程的堆栈信息,并将抓取到的堆栈信息记录为第一冻屏故障日志。3.如权利要求2所述的冻屏检测方法,其特征在于,所述处理时长包括执行时长;所述监测主线程中待处理的消息的处理时长包括:当所述待处理的消息离开所述消息队列时,对所述待处理的消息的执行时长进行计时;所述若所述待处理的消息的处理时长大于或等于预设时长阈值,且与所述主线程连接的输入事件管道中存在用户输入事件或所述主线程的消息队列中存在垂直同步信号,则判定发生冻屏故障,记录冻屏故障日志包括:当所述待处理的消息的执行时长大于或等于预设执行阈值时,若未检测到所述待处理的消息的执行完成信号且与所述主线程连接的输入事件管道中存在用户输入事件或所述主线程的消息队列中存在垂直同步信号,则判定发生冻屏故障,抓取所述主线程的堆栈信息,并将抓取到的堆栈信息记录为第二冻屏故障日志。4.如权利要求3所述的冻屏检测方法,其特征在于,所述当所述待处理的消息的执行时长大于或等于预设执行阈值时,若未检测到所述待处理的消息的执行完成信号且与所述主线程连接的输入事件管道中存在用户输入事件或所述主线程的消息队列中存在垂直同步信号,则判定发生冻屏故障,抓取所述主线程的堆栈信息,并将抓取到信息记录为第二冻屏故障日志包括:当所述待处理的消息的执行时长大于或等于第一预设执行阈值时,若未检测到所述待处理的消息的执行完成信号,则抓取所述主线程的堆栈信息,存储抓取到的堆栈信息;当所述待处理的消息的执行时长大于或等于第二预设执行阈值时,若未检测到所述待处理的消息的执行完成信号且与所述主线程连接的输入事件管道中存在用户输入事件或所述主线程的消息队列中存在垂直同步信号,则判定发生冻屏故障,将所述抓取到的堆栈信息记录为第二冻屏故障日志,其中,所述第一预设执行阈值小于所述第二预设执行阈值。
5.如权利要求4所述的冻屏检测方法,其特征在于,所述方法还包括:若接收到所述待处理的消息的执行完成信号时,所述待处理的消息的执行时长大于或等于所述第一预设执行阈值,且小于所述第二预设执行阈值,则将所述抓取到的堆栈信息记录为卡顿故障日志。6.如权利要求1所述的冻屏检测方法,其特征在于,所述监测主线程中待处理的消息的处理时长包括:通过与所述主线程独立的第一线程监测主线程中待处理的消息的处理时长。7.如权利要求1所述的冻屏检测方法,其特征在于,在所述判定发生冻屏故障之后,还包括:对所...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。