CN104991855A - 界面卡顿处理方法及装置 - Google Patents

界面卡顿处理方法及装置 Download PDF

Info

Publication number
CN104991855A
CN104991855A CN201510334862.2A CN201510334862A CN104991855A CN 104991855 A CN104991855 A CN 104991855A CN 201510334862 A CN201510334862 A CN 201510334862A CN 104991855 A CN104991855 A CN 104991855A
Authority
CN
China
Prior art keywords
running
stack
server
running stack
heartbeat
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510334862.2A
Other languages
English (en)
Other versions
CN104991855B (zh
Inventor
郭志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201510334862.2A priority Critical patent/CN104991855B/zh
Publication of CN104991855A publication Critical patent/CN104991855A/zh
Application granted granted Critical
Publication of CN104991855B publication Critical patent/CN104991855B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种界面卡顿处理方法及装置,属于软件技术领域。所述方法包括:周期性向所述第一对象发送心跳信号;检测在预设时间内是否接收到所述第一对象的心跳响应信号;当在所述预设时间内未接收到所述第一对象的心跳响应信号时,确定所述第一对象归属的当前运行应用对应的界面卡顿,获取所述当前运行应用的运行栈,将所述运行栈上传至服务器。本发明利用心跳机制可及时快速地检测到界面是否卡顿,无需消耗大量资源,且由于保留了当前运行应用的运行栈,所以将该运行栈上传至服务器后,软件测试人员根据该运行栈可复现和保留现场,有利于程序质量的监控和问题的修复。

Description

界面卡顿处理方法及装置
技术领域
本发明涉及软件技术领域,特别涉及一种界面卡顿检测方法及装置。
背景技术
卡顿现象,一般出现在手机、笔记本电脑等电子设备中,出现状况为:进行各种电子设备操作过程中,例如玩游戏的时候卡,或者听歌的时候画面滞帧,也就是通常人们所说的“卡”。
现有技术中,软件测试人员通常在程序中植入用于监控卡顿现象的代码。由上述代码检测界面是否卡顿。在出现卡顿现象后,软件测试人员通常很难复现和保留现场,排查问题非常困难,不利于程序质量的监控和问题的修复,且由于程序牺牲了一部分性能用于检测界面是否卡顿,浪费了资源。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种界面卡顿处理方法及装置。所述技术方案如下:
一方面,提供了一种界面卡顿处理方法,所述方法包括:
周期性向所述第一对象发送心跳信号;
检测在预设时间内是否接收到所述第一对象的心跳响应信号;
当在所述预设时间内未接收到所述第一对象的心跳响应信号时,确定所述第一对象归属的当前运行应用对应的界面卡顿,获取所述当前运行应用的运行栈,将所述运行栈上传至服务器。
可选地,所述周期性向所述第一对象发送心跳信号之前,所述方法还包括:
接收第二对象的注册信息,所述第二对象为所述第一对象的子对象,所述第二对象用于监听是否接收到所述心跳信号;
存储所述第二对象的注册信息;
所述周期性向所述第一对象发送心跳信号,包括:
根据所述第二对象的注册信息,周期性向所述第一对象发送心跳信号。
可选地,所述获取所述当前运行应用的运行栈,包括:
调用特定系统函数,获取所述当前运行应用的已调用函数列表和每一个函数的描述信息,得到所述当前运行应用的运行栈。
可选地,所述将所述运行栈上传至服务器,包括:
打印所述运行栈的符号名称和符号地址;
将所述运行栈的符号名称和符号地址输出为文件,将所述文件上传至所述服务器。
可选地,所述将所述运行栈上传至服务器,包括:
打印所述运行栈的符号名称和符号地址;
将所述运行栈的符号名称和符号地址输出为特定输出流,将所述特定输出流上传至所述服务器。
另一方面,提供了一种界面卡顿处理装置,所述装置包括:
发送模块,用于周期性向所述第一对象发送心跳信号;
检测模块,用于检测在预设时间内是否接收到所述第一对象的心跳响应信号;
处理模块,用于当在所述预设时间内未接收到所述第一对象的心跳响应信号时,确定所述第一对象归属的当前运行应用对应的界面卡顿,获取所述当前运行应用的运行栈,将所述运行栈上传至服务器。
可选地,所述装置还包括:
接收模块,用于接收第二对象的注册信息,所述第二对象为所述第一对象的子对象,所述第二对象用于监听是否接收到所述心跳信号;
存储模块,用于存储所述第二对象的注册信息;
所述发送模块,用于根据所述第二对象的注册信息,周期性向所述第一对象发送心跳信号。
可选地,所述处理模块,用于调用特定系统函数,获取所述当前运行应用的已调用函数列表和每一个函数的描述信息,得到所述当前运行应用的运行栈。
可选地,所述处理模块,用于打印所述运行栈的符号名称和符号地址;将所述运行栈的符号名称和符号地址输出为文件,将所述文件上传至所述服务器。
可选地,所述处理模块,用于打印所述运行栈的符号名称和符号地址;将所述运行栈的符号名称和符号地址输出为特定输出流,将所述特定输出流上传至所述服务器。
本发明实施例提供的技术方案带来的有益效果是:
周期性向所述第一对象发送心跳信号,当在所述预设时间内未接收到所述第一对象的心跳响应信号时,确定所述第一对象归属的当前运行应用对应的界面卡顿,获取所述当前运行应用的运行栈,将所述运行栈上传至服务器,利用心跳机制可及时快速地检测到界面是否卡顿,无需消耗大量资源,且由于保留了当前运行应用的运行栈,所以将该运行栈上传至服务器后,软件测试人员根据该运行栈可复现和保留现场,有利于程序质量的监控和问题的修复。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种界面卡顿处理方法的流程图;
图2是本发明实施例提供的一种界面卡顿处理方法的流程图;
图3是本发明实施例提供的第一种界面卡顿处理装置的结构示意图;
图4是本发明实施例提供的第二种界面卡顿处理装置的结构示意图;
图5是本发明实施例提供的一种终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例进行详细地解释说明之前,先对后续过程中用到的几个名词进行解释说明。
单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
观察者模式,又被称为发布-订阅模式、模型-视图模式、源-收听者模式或从属者模式,是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。
基类,通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为父类,也就是基类。
心跳,两个设备之间通过周期性发送心跳信号,判断对方的健康状况。
图1是本发明实施例提供的一种界面卡顿处理方法的流程图。参见图1,本发明实施例提供的方法流程包括:
101、周期性向第一对象发送心跳信号。
102、检测在预设时间内是否接收到第一对象的心跳响应信号。
103、当在预设时间内未接收到第一对象的心跳响应信号时,确定第一对象归属的当前运行应用对应的界面卡顿,获取当前运行应用的运行栈,将运行栈上传至服务器。
本发明实施例提供的方法,周期性向第一对象发送心跳信号,当在预设时间内未接收到第一对象的心跳响应信号时,确定第一对象归属的当前运行应用对应的界面卡顿,获取当前运行应用的运行栈,将运行栈上传至服务器,利用心跳机制可及时快速地检测到界面是否卡顿,无需消耗大量资源,且由于保留了当前运行应用的运行栈,所以将该运行栈上传至服务器后,软件测试人员根据该运行栈可复现和保留现场,有利于程序质量的监控和问题的修复。
可选地,周期性向第一对象发送心跳信号之前,该方法还包括:
接收第二对象的注册信息,第二对象为第一对象的子对象,第二对象用于监听是否接收到心跳信号;
存储第二对象的注册信息;
周期性向第一对象发送心跳信号,包括:
根据第二对象的注册信息,周期性向第一对象发送心跳信号。
可选地,获取当前运行应用的运行栈,包括:
调用特定系统函数,获取当前运行应用的已调用函数列表和每一个函数的描述信息,得到当前运行应用的运行栈。
可选地,将运行栈上传至服务器,包括:
打印运行栈的符号名称和符号地址;
将运行栈的符号名称和符号地址输出为文件,将文件上传至服务器。
可选地,将运行栈上传至服务器,包括:
打印运行栈的符号名称和符号地址;
将运行栈的符号名称和符号地址输出为特定输出流,将特定输出流上传至服务器。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图2是本发明实施例提供的一种界面卡顿处理方法的流程图。参见图2,本发明实施例提供的方法流程包括:
201、监控对象接收并存储第二对象的注册信息。
其中,监控对象具体可为一个监控类,该监控类是一个单例,使用观察者模式。第二对象为第一对象的子对象。也即,若第二对象为界面类,则第一对象为界面类基类。第二对象与界面窗口相关,继承第一对象。第二对象在监控对象中进行注册,第二对象可监听监控对象发送的心跳信号,第一对象可响应监控对象的心跳信号。在本发明实施例中,监控对象除了可接收并存储第二对象的注册信息之外,还可接收并存储其他类的注册信息。这样,当监控对象周期性地广播心跳信号时,所有在监控对象中注册过的类都能接收到该心跳信号。
202、监控对象根据第二对象的注册信息,周期性向第一对象发送心跳信号。
在本发明实施例中,监控对象周期性地发送心跳信号,即监控对象每隔一定时长便广播一次心跳信号。其中,一定时长的大小可为1秒或2秒等等,本发明实施例对此不进行具体限定。监控对象在周期性地发送心跳信号时,只要在监控对象中注册过的类均能接收到该心跳信号。即,除了第一对象可接收到该心跳信号之外,其他在监控对象中注册过的类也可接收到。至于心跳信号的内容,无特别规定,一般都是很小的包,或者只包含包头的一个空包。由于第一对象为第二对象的父对象,所以根据第二对象的注册信息,可将心跳信号发送至第一对象。
203、监控对象检测在预设时间内是否接收到第一对象的心跳响应信号;当在预设时间内未接收到第一对象的心跳响应信号时,执行下述步骤204。
在本发明实施例中,界面卡顿的原因是由于消息队列没有运行引起的。所以在此时即便监控对象发送新的事件也不会马上进行处理,因此可以利用这一特点实现类似心跳的机制,以检测界面是否卡顿。其中,预设时间的大小可为1秒或5秒等等,本发明实施例对预设时间的大小不进行具体限定。心跳响应信号的内容,同心跳信号一样,也无特别规定,一般都是很小的包,或者只包含包头的一个空包。当在预设时间内接收到第一对象的心跳响应信号时,则证明第一对象在接收到监控对象发送的心跳信号后,马上对该心跳信号进行了响应,及时反馈了心跳响应信号。由于此时消息队列处于运行状态中,且对新的事件马上进行了处理,所以确定此时界面没有发生卡顿现象,处理流程至此结束。
204、当在预设时间内未接收到第一对象的心跳响应信号时,监控对象确定第一对象归属的当前运行应用对应的界面卡顿,获取当前运行应用的运行栈,将运行栈上传至服务器。
在本发明实施例中,当监控对象在预设时间内未接收到第一对象的心跳响应信号时,则证明第一对象在接收到监控对象发送的心跳信号后,没有在预设时间内对该心跳信号进行响应,即消息队列没有运行,对新的事件没有马上进行处理,所以确定此时第一对象归属的当前运行应用对应的界面发生卡顿现象。在确定界面发生卡顿现象后,为了后续软件测试人员排查界面卡顿问题,本发明实施例还包括获取当前运行应用的运行栈,并将该运行栈上传至服务器的步骤。在将该运行栈上传至服务器后,软件测试人员便可根据该运行栈复现和保留现场,进行界面卡顿问题排查。
在获取当前运行应用的运行栈时,可采取下述方式实现:调用特定系统函数,获取当前运行应用的已调用函数列表和每一个函数的描述信息,得到当前运行应用的运行栈。
其中,描述信息用于描述函数的地址,参数,还有函数的局部变量的值等,本发明实施例对描述信息包括的内容不进行具体限定。
在将运行栈上传至服务器时,可采取下述两种方式实现:
第一种方式、打印运行栈的符号名称和符号地址;将运行栈的符号名称和符号地址输出为文件,将文件上传至服务器。
第二种方式、打印运行栈的符号名称和符号地址;将运行栈的符号名称和符号地址输出为特定输出流,将特定输出流上传至服务器。
在上传运行栈时,可采取上述两种方式中的任一种实现,具体选取哪一种方式,本发明实施例对此不进行具体限定,可视情况而定。
以监控对象为监控类C,第一对象为界面类基类UIBase,第二对象为界面类A,心跳信号为heartC信号为例,则上述界面卡顿处理方式可描述为下述步骤:
第一步、界面类A在监控类C中进行注册,界面类A开始监听监控类C的heartC信号,监控类C开始监听界面类基类UIBase发送的心跳响应信号。
第二步、监控类C周期性发送heartC信号。
第三步、界面类基类UIBase在接收到监控类C发送的heartC信号后,尝试向监控类C返回心跳响应信号。
第四步、监控类C检测在预设时间内是否接收到界面类基类UIBase的心跳响应信号;当监控类C在预设时间内未接收到界面类基类UIBase返回的心跳响应信号时,监控类C获取当前运行应用此刻的运行栈。
第五步、监控类C将该运行栈上传至服务器,以便软件测试人员根据该运行栈复现和保留现场,进行界面卡顿问题排查。
下面示出上述界面卡顿处理方法的伪代码:
C.h
监控类C是个单例
本发明实施例提供的方法,周期性向第一对象发送心跳信号,当在预设时间内未接收到第一对象的心跳响应信号时,确定第一对象归属的当前运行应用对应的界面卡顿,获取当前运行应用的运行栈,将运行栈上传至服务器,利用心跳机制可及时快速地检测到界面是否卡顿,无需消耗大量资源,且由于保留了当前运行应用的运行栈,所以将该运行栈上传至服务器后,软件测试人员根据该运行栈可复现和保留现场,有利于程序质量的监控和问题的修复。
图3是本发明实施例提供的一种界面卡顿处理装置的结构示意图。参见图3,该装置包括:发送模块301、检测模块302、处理模块303。
其中,发送模块301与检测模块302连接,用于周期性向第一对象发送心跳信号;检测模块302与处理模块303连接,用于检测在预设时间内是否接收到第一对象的心跳响应信号;处理模块303,用于当在预设时间内未接收到第一对象的心跳响应信号时,确定第一对象归属的当前运行应用对应的界面卡顿,获取当前运行应用的运行栈,将运行栈上传至服务器。
参见图4,该装置还包括:
接收模块304,用于接收第二对象的注册信息,第二对象为第一对象的子对象,第二对象用于监听是否接收到心跳信号;
存储模块305,用于存储第二对象的注册信息;
发送模块,用于根据第二对象的注册信息,周期性向第一对象发送心跳信号。
可选地,处理模块,用于调用特定系统函数,获取当前运行应用的已调用函数列表和每一个函数的描述信息,得到当前运行应用的运行栈。
可选地,处理模块,用于打印运行栈的符号名称和符号地址;将运行栈的符号名称和符号地址输出为文件,将文件上传至服务器。
可选地,处理模块,用于打印运行栈的符号名称和符号地址;将运行栈的符号名称和符号地址输出为特定输出流,将特定输出流上传至服务器。
本发明实施例提供的装置,周期性向第一对象发送心跳信号,当在预设时间内未接收到第一对象的心跳响应信号时,确定第一对象归属的当前运行应用对应的界面卡顿,获取当前运行应用的运行栈,将运行栈上传至服务器,利用心跳机制可及时快速地检测到界面是否卡顿,无需消耗大量资源,且由于保留了当前运行应用的运行栈,所以将该运行栈上传至服务器后,软件测试人员根据该运行栈可复现和保留现场,有利于程序质量的监控和问题的修复。
需要说明的是:上述实施例提供的界面卡顿处理装置在处理界面卡顿时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的界面卡顿处理装置与界面卡顿处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5是根据一示例性实施例示出的一种用于处理界面卡顿的终端500的框图。例如,终端500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,终端500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出(I/O)的接口512,传感器组件514,以及通信组件516。
处理组件502通常控制终端500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在终端500的操作。这些数据的示例包括用于在终端500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为终端500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为终端500生成、管理和分配电力相关联的组件。
多媒体组件508包括在所述终端500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当终端500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当终端500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为终端500提供各个方面的状态评估。例如,传感器组件514可以检测到终端500的打开/关闭状态,组件的相对定位,例如所述组件为终端500的显示器和小键盘,传感器组件514还可以检测终端500或终端500一个组件的位置改变,用户与终端500接触的存在或不存在,终端500方位或加速/减速和终端500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于终端500和其他设备之间有线或无线方式的通信。终端500可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由终端500的处理器520执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行一种界面卡顿处理方法,该方法包括:
周期性向第一对象发送心跳信号;
检测在预设时间内是否接收到第一对象的心跳响应信号;
当在预设时间内未接收到第一对象的心跳响应信号时,确定第一对象归属的当前运行应用对应的界面卡顿,获取当前运行应用的运行栈,将运行栈上传至服务器。
可选地,周期性向第一对象发送心跳信号之前,该方法还包括:
接收第二对象的注册信息,第二对象为第一对象的子对象,第二对象用于监听是否接收到心跳信号;
存储第二对象的注册信息;
周期性向第一对象发送心跳信号,包括:
根据第二对象的注册信息,周期性向第一对象发送心跳信号。
可选地,获取当前运行应用的运行栈,包括:
调用特定系统函数,获取当前运行应用的已调用函数列表和每一个函数的描述信息,得到当前运行应用的运行栈。
可选地,将运行栈上传至服务器,包括:
打印运行栈的符号名称和符号地址;
将运行栈的符号名称和符号地址输出为文件,将文件上传至服务器。
可选地,将运行栈上传至服务器,包括:
打印运行栈的符号名称和符号地址;
将运行栈的符号名称和符号地址输出为特定输出流,将特定输出流上传至服务器。
本公开实施例提供的非临时性计算机可读存储介质,周期性向所述第一对象发送心跳信号,当在所述预设时间内未接收到所述第一对象的心跳响应信号时,确定所述第一对象归属的当前运行应用对应的界面卡顿,获取所述当前运行应用的运行栈,将所述运行栈上传至服务器,利用心跳机制可及时快速地检测到界面是否卡顿,无需消耗大量资源,且由于保留了当前运行应用的运行栈,所以将该运行栈上传至服务器后,软件测试人员根据该运行栈可复现和保留现场,有利于程序质量的监控和问题的修复。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种界面卡顿处理方法,其特征在于,所述方法包括:
周期性向所述第一对象发送心跳信号;
检测在预设时间内是否接收到所述第一对象的心跳响应信号;
当在所述预设时间内未接收到所述第一对象的心跳响应信号时,确定所述第一对象归属的当前运行应用对应的界面卡顿,获取所述当前运行应用的运行栈,将所述运行栈上传至服务器。
2.根据权利要求1所述的方法,其特征在于,所述周期性向所述第一对象发送心跳信号之前,所述方法还包括:
接收第二对象的注册信息,所述第二对象为所述第一对象的子对象,所述第二对象用于监听是否接收到所述心跳信号;
存储所述第二对象的注册信息;
所述周期性向所述第一对象发送心跳信号,包括:
根据所述第二对象的注册信息,周期性向所述第一对象发送心跳信号。
3.根据权利要求1所述的方法,其特征在于,所述获取所述当前运行应用的运行栈,包括:
调用特定系统函数,获取所述当前运行应用的已调用函数列表和每一个函数的描述信息,得到所述当前运行应用的运行栈。
4.根据权利要求1所述的方法,其特征在于,所述将所述运行栈上传至服务器,包括:
打印所述运行栈的符号名称和符号地址;
将所述运行栈的符号名称和符号地址输出为文件,将所述文件上传至所述服务器。
5.根据权利要求1所述的方法,其特征在于,所述将所述运行栈上传至服务器,包括:
打印所述运行栈的符号名称和符号地址;
将所述运行栈的符号名称和符号地址输出为特定输出流,将所述特定输出流上传至所述服务器。
6.一种界面卡顿处理装置,其特征在于,所述装置包括:
发送模块,用于周期性向所述第一对象发送心跳信号;
检测模块,用于检测在预设时间内是否接收到所述第一对象的心跳响应信号;
处理模块,用于当在所述预设时间内未接收到所述第一对象的心跳响应信号时,确定所述第一对象归属的当前运行应用对应的界面卡顿,获取所述当前运行应用的运行栈,将所述运行栈上传至服务器。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收第二对象的注册信息,所述第二对象为所述第一对象的子对象,所述第二对象用于监听是否接收到所述心跳信号;
存储模块,用于存储所述第二对象的注册信息;
所述发送模块,用于根据所述第二对象的注册信息,周期性向所述第一对象发送心跳信号。
8.根据权利要求6所述的装置,其特征在于,所述处理模块,用于调用特定系统函数,获取所述当前运行应用的已调用函数列表和每一个函数的描述信息,得到所述当前运行应用的运行栈。
9.根据权利要求6所述的装置,其特征在于,所述处理模块,用于打印所述运行栈的符号名称和符号地址;将所述运行栈的符号名称和符号地址输出为文件,将所述文件上传至所述服务器。
10.根据权利要求6所述的装置,其特征在于,所述处理模块,用于打印所述运行栈的符号名称和符号地址;将所述运行栈的符号名称和符号地址输出为特定输出流,将所述特定输出流上传至所述服务器。
CN201510334862.2A 2015-06-16 2015-06-16 界面卡顿处理方法及装置 Active CN104991855B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510334862.2A CN104991855B (zh) 2015-06-16 2015-06-16 界面卡顿处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510334862.2A CN104991855B (zh) 2015-06-16 2015-06-16 界面卡顿处理方法及装置

Publications (2)

Publication Number Publication Date
CN104991855A true CN104991855A (zh) 2015-10-21
CN104991855B CN104991855B (zh) 2018-09-11

Family

ID=54303671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510334862.2A Active CN104991855B (zh) 2015-06-16 2015-06-16 界面卡顿处理方法及装置

Country Status (1)

Country Link
CN (1) CN104991855B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105389258A (zh) * 2015-12-10 2016-03-09 腾讯科技(深圳)有限公司 一种程序检测方法及装置
CN105677573A (zh) * 2016-02-26 2016-06-15 厦门美图移动科技有限公司 一种卡顿检测方法、装置及计算设备
CN106502899A (zh) * 2016-11-01 2017-03-15 北京蓝海讯通科技股份有限公司 监测应用的方法、装置、移动终端及系统
CN108446199A (zh) * 2017-02-16 2018-08-24 阿里巴巴集团控股有限公司 一种应用卡顿的检测方法及装置
CN110825466A (zh) * 2019-11-11 2020-02-21 腾讯科技(深圳)有限公司 一种程序卡顿的处理方法以及卡顿处理装置
CN113672486A (zh) * 2021-08-18 2021-11-19 上海哔哩哔哩科技有限公司 卡顿分析方法及cdn服务器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102185740A (zh) * 2011-05-13 2011-09-14 北京星网锐捷网络技术有限公司 心跳检测方法及网络设备
CN103188103A (zh) * 2011-12-31 2013-07-03 成都勤智数码科技股份有限公司 一种网管系统自监控方法
CN104184216A (zh) * 2014-09-16 2014-12-03 国家电网公司 一种针对电力自动化设备进行远程综合在线监测方法
CN104598241A (zh) * 2015-01-27 2015-05-06 中国石油集团东方地球物理勘探有限责任公司 一种窗口监控方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102185740A (zh) * 2011-05-13 2011-09-14 北京星网锐捷网络技术有限公司 心跳检测方法及网络设备
CN103188103A (zh) * 2011-12-31 2013-07-03 成都勤智数码科技股份有限公司 一种网管系统自监控方法
CN104184216A (zh) * 2014-09-16 2014-12-03 国家电网公司 一种针对电力自动化设备进行远程综合在线监测方法
CN104598241A (zh) * 2015-01-27 2015-05-06 中国石油集团东方地球物理勘探有限责任公司 一种窗口监控方法及系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105389258A (zh) * 2015-12-10 2016-03-09 腾讯科技(深圳)有限公司 一种程序检测方法及装置
WO2017096734A1 (zh) * 2015-12-10 2017-06-15 腾讯科技(深圳)有限公司 一种程序检测方法及装置
CN105389258B (zh) * 2015-12-10 2020-08-14 腾讯科技(深圳)有限公司 一种程序检测方法及装置
CN105677573A (zh) * 2016-02-26 2016-06-15 厦门美图移动科技有限公司 一种卡顿检测方法、装置及计算设备
CN105677573B (zh) * 2016-02-26 2019-01-22 厦门美图移动科技有限公司 一种卡顿检测方法、装置及计算设备
CN106502899A (zh) * 2016-11-01 2017-03-15 北京蓝海讯通科技股份有限公司 监测应用的方法、装置、移动终端及系统
CN106502899B (zh) * 2016-11-01 2020-04-07 北京蓝海讯通科技股份有限公司 监测应用的方法、装置、移动终端及系统
CN108446199A (zh) * 2017-02-16 2018-08-24 阿里巴巴集团控股有限公司 一种应用卡顿的检测方法及装置
CN110825466A (zh) * 2019-11-11 2020-02-21 腾讯科技(深圳)有限公司 一种程序卡顿的处理方法以及卡顿处理装置
CN113672486A (zh) * 2021-08-18 2021-11-19 上海哔哩哔哩科技有限公司 卡顿分析方法及cdn服务器

Also Published As

Publication number Publication date
CN104991855B (zh) 2018-09-11

Similar Documents

Publication Publication Date Title
CN104991855A (zh) 界面卡顿处理方法及装置
CN105516754B (zh) 画面显示控制方法、装置及终端
CN106488335A (zh) 直播控制方法及装置
CN105049269B (zh) 信息反馈方法及装置
CN105049923A (zh) 唤醒电子设备的方法及装置
CN105701997A (zh) 报警方法和装置
CN104618218A (zh) 消息提醒方法及装置
CN104615655A (zh) 信息推荐方法和装置
CN104933170A (zh) 信息展示方法及装置
CN104298547A (zh) 终端设置方法及装置
CN104580730A (zh) 闹钟提醒方法及装置
CN105491048A (zh) 账户管理方法及装置
CN103916975A (zh) 网络连接管理方法及装置
CN104717554A (zh) 智能电视的控制方法及装置、电子设备
CN105786507A (zh) 显示界面切换的方法及装置
CN105353901A (zh) 对触摸操作进行有效性判断的方法及装置
CN106453032A (zh) 信息推送方法及装置、系统
CN106572010A (zh) 数据包抓取方法、装置及终端
CN108476379A (zh) 信息记录方法和信息记录装置
CN106325575A (zh) 触控响应方法及装置
CN106528385A (zh) 系统流畅性的监测方法、装置及终端
CN105426065A (zh) 浏览位置标记方法及装置
CN105630974A (zh) 页面的刷新方法、装置及设备
CN105227660A (zh) 一种提醒方法及装置
CN105188024A (zh) 接入网络的方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 511446 Guangzhou City, Guangdong Province, Panyu District, South Village, Huambo Business District Wanda Plaza, block B1, floor 28

Applicant after: Guangzhou Huaduo Network Technology Co., Ltd.

Address before: 510655, Guangzhou, Whampoa Avenue, No. 2, creative industrial park, building 3-08,

Applicant before: Guangzhou Huaduo Network Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210107

Address after: 511442 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 511446 28th floor, block B1, Wanda Plaza, Wanbo business district, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20151021

Assignee: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000053

Denomination of invention: Treatment method and device of interface jam

Granted publication date: 20180911

License type: Common License

Record date: 20210208