CN108512695A - 监控应用卡顿的方法及装置 - Google Patents
监控应用卡顿的方法及装置 Download PDFInfo
- Publication number
- CN108512695A CN108512695A CN201810198406.3A CN201810198406A CN108512695A CN 108512695 A CN108512695 A CN 108512695A CN 201810198406 A CN201810198406 A CN 201810198406A CN 108512695 A CN108512695 A CN 108512695A
- Authority
- CN
- China
- Prior art keywords
- page
- application
- monitoring
- time
- drafting
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5009—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Navigation (AREA)
Abstract
本发明实施例公开了一种监控应用卡顿的方法及装置,其中,监控应用卡顿的方法包括:在应用的预设位置埋点;调用主线程绘制所述应用的界面;获取所述界面的每帧页面的绘制时间,并利用监控线程监控每帧页面的绘制时间是否超过预设时间阈值;当出现绘制时间超过所述预设时间阈值时,利用所埋的点获取所述应用的所述预设位置的页面信息,并利用采集线程采集所述应用及终端的运行记录;对所述页面信息以及所述运行记录进行聚合分析,得到所述应用的卡顿监控数据。本发明实施例能够快速、准确地获得卡顿点的页面信息,从而为卡顿原因分析及卡顿问题解决提供了有效的参考依据。
Description
技术领域
本发明实施例涉及通信技术领域,具体涉及一种监控应用卡顿的方法及装置。
背景技术
随着手机、平板电脑等终端的发展,终端上安装的应用越来越多,用户每天在终端上花费的时间越来越长,与此同时,用户对应用的体验要求也越来越高,如果应用无法为用户提供更好的体验,用户流失在所难免。而应用卡顿则是影响用户体验的一个主要问题,因此,有必要提出一些方法,对应用卡顿进行监控,以对应用的缺陷进行分析和改进。
发明内容
本发明实施例提供了一种监控应用卡顿的方法及装置,能够快速、准确地获得卡顿点的页面信息,从而为卡顿原因分析及卡顿问题解决提供了有效的参考依据。
本发明实施例提供的监控应用卡顿的方法,包括:
在应用的预设位置埋点;
调用主线程绘制所述应用的界面;
获取所述界面的每帧页面的绘制时间,并利用监控线程监控每帧页面的绘制时间是否超过预设时间阈值;
当出现绘制时间超过所述预设时间阈值时,利用所埋的点获取所述应用的所述预设位置的页面信息,并利用采集线程采集所述应用及终端的运行记录;
对所述页面信息以及所述运行记录进行聚合分析,得到所述应用的卡顿监控数据。
本发明实施例提供的监控应用卡顿的装置,包括:
埋点单元,用于在应用的预设位置埋点;
绘制单元,用于调用主线程绘制所述应用的界面;
监控单元,用于获取所述界面的每帧页面的绘制时间,并利用监控线程监控每帧页面的绘制时间是否超过预设时间阈值;
采集单元,用于当出现绘制时间超过所述预设时间阈值时,利用所埋的点获取所述应用的所述预设位置的页面信息,并利用采集线程采集所述应用及终端的运行记录;
处理单元,用于对所述页面信息以及所述运行记录进行聚合分析,得到所述应用的卡顿监控数据。
本发明实施例中,在应用的预设位置埋点之后,调用主线程绘制所述应用的界面,并获取所述界面的每帧页面的绘制时间,利用监控线程监控每帧页面的绘制时间是否超过预设时间阈值,当出现绘制时间超过所述预设时间阈值时,利用所埋的点获取所述应用的所述预设位置的页面信息,并利用采集线程采集所述应用及终端的运行记录,对所述页面信息以及所述运行记录进行聚合分析,得到所述应用的卡顿监控数据。即本发明实施例中,在监控到出现卡顿时,利用采集线程采集应用及终端的运行记录,并通过预设位置的埋点,快速、准确地获得卡顿点的页面信息,根据获取的页面信息和运行记录可以得到应用的卡顿监控数据,从而为卡顿原因分析及卡顿问题解决提供了有效的参考依据。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的监控应用卡顿的方法的应用场景示意图。
图2是本发明实施例提供的监控应用卡顿的方法的流程示意图。
图3是本发明实施例提供的监控应用卡顿的方法的另一流程示意图。
图4是本发明实施例提供的应用的框架结构图。
图5是本发明实施例提供的监控应用卡顿的装置的结构示意图。
图6是本发明实施例提供的监控应用卡顿的装置的另一结构示意图。
图7是本发明实施例提供的监控应用卡顿的装置的再一结构示意图。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本申请的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其它具体实施例。
在以下的说明中,本申请的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存***中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实***置,其具有由该数据格式所定义的特定特性。但是,本申请原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本文所使用的术语“模块”可看做为在该运算***上执行的软件对象。本文所述的不同组件、模块、引擎及服务可看做为在该运算***上的实施对象。而本文所述的装置及方法可以以软件的方式进行实施,当然也可在硬件上进行实施,均在本申请保护范围之内。
本申请中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、***、产品或设备没有限定于已列出的步骤或模块,而是某些实施例还包括没有列出的步骤或模块,或某些实施例还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
应用卡顿,比如用户玩游戏的时候画面没有响应,听歌的时候画面滞帧等,会给用户带来很糟糕的体验。因而,本发明提供了一种监控应用卡顿的方法及装置,能够快速、准确地获得卡顿点的页面信息,从而为卡顿原因分析及卡顿问题解决提供有效的参考依据。本发明实施例提供的监控应用卡顿的方法可实现在本发明实施例提供的监控应用卡顿的装置中,该监控应用卡顿的装置可以是手机、平板电脑、笔记本电脑等终端。
以监控应用卡顿的装置为终端为例,本发明实施例监控应用卡顿的方法的一个具体实施场景可如图1所示,终端上安装有应用(即需要进行卡顿监控的应用),终端可以在应用的预设位置(可以是应用的关键位置、需要监控的位置、或容易出现卡顿的位置)埋点,然后调用主线程绘制所述应用的界面,并获取所述界面的每帧页面的绘制时间,利用监控线程监控每帧页面的绘制时间是否超过预设时间阈值,当出现绘制时间超过预设时间阈值时,利用所埋的点获取所述应用的所述预设位置的页面信息,并利用采集线程采集所述应用及终端的运行记录,对所述页面信息以及所述运行记录进行聚合分析,得到所述应用的卡顿监控数据,根据该卡顿监控数据可以进行卡顿原因分析、卡顿点定位等处理。
以下将分别进行详细说明。
请参阅图2,本实施例将从监控应用卡顿的装置的角度描述本发明实施例提供的监控应用卡顿的方法,该监控应用卡顿的装置可以是安装有需要监控的应用的手机、平板电脑等终端,如图2所示,本实施例的方法包括以下步骤:
步骤S201、在应用的预设位置埋点。
上述应用指的是安装在终端内,需要进行卡顿监控的安卓(Android)应用,比如:游戏应用、听歌应用、社交通讯应用等。
预设位置可以是应用的关键位置、需要监控的位置、或容易出现卡顿的位置等,比如:预设位置可以是应用的片段(Fragment)栈、核心页面、列表滑动处以及动画切换处。通过预设位置的埋点可以获得预设位置的页面信息,该页面信息例如:页面停留时间、页面操作时间、页面操作频率等,这些页面信息对后续定位卡慢页面、获取关键页面信息、监控操作场景等起到了至关重要的作用,还可以方便地跟进用户反馈。
步骤S202、调用主线程绘制所述应用的界面。
由于Android应用是消息驱动的,Android通过循环(Looper)、处理者(Handler)来实现消息循环机制,Android消息循环是针对线程的,即每个线程都可以有自己的消息队列和消息循环。
Android的消息循环主要由四个要素构成,Message、Message Queue、Looper、Handler,其中:
Message,表示一个具体的消息;
Message Queue,表示消息队列,具体的消息产生后加入到消息队列中;
Looper,用于循环取出消息,以便于进行处理;
Handler,用于对消息进行处理。
具体在本实施例中,主线程(Main Thread),即负责对需要进行卡顿监控的应用的界面(UI)绘制的线程,其使用主循环(Main Looper)来负责界面绘制任务。Main Looper会不断地从消息队列中取出消息,调用其绑定的Handler在主线程执行界面绘制的任务。
另外,可以在主线程中,创建消息处理器(Choreographer),以实现统一调度界面绘图。Choreographer主要作用是协调动画,输入和绘制的时间,它从显示子***接收定时脉冲(例如:垂直同步),然后安排渲染下一个帧的一部分工作。
步骤S203、获取所述界面的每帧页面的绘制时间,并利用监控线程监控每帧页面的绘制时间是否超过预设时间阈值。
具体绘制时间的获取方法,根据实际情况可分为两种:
第一,针对动态页面(页面上的UI元素有做动画),可以利用反射机制在主循环中添加日志打印接口(Log Printer),并在主线程中创建监控线程,在页面的每帧开始绘制时,日志打印接口会打印出调度(Dispatching to)的日志,在每帧打印结束时,日志打印接口会打印出完成(Finished to)的日志,监控线程可以在日志打印接口打印出Dispatchingto开始计时,在日志打印接口会打印出Finished to时,结束计时,所记录的耗时即每帧页面的绘制时间。这种方法可以避免调度消息处理耗时太长,导致无法抓取当次堆栈的风险,且降低了监控线程对CPU的占用。
通过在主循环中添加日志打印接口来专门进行绘制时间监控,可以避免延用其他打印接口进行绘制时间监控,而导致的监控被中断的问题,提高监控成功率。
(2)针对静态页面(页面上展示的UI元素不会主动与用户发生交互或者发生动画),由于启用消息处理器Choreographer之后,每帧页面在开始被绘制时,会触发帧回调接口(Frame Callback)和Choreographer交互,因此,可以在主线程中创建监控线程,监控线程利用Choreographer的Frame Callback获取所述静态页面的前后两帧的绘制时间间隔,根据所述绘制时间间隔得到每帧页面的绘制时间。
具体实现中,可以根据实际需求,设置每帧页面的绘制时间阈值。比如,当帧率为45时(即画面一秒更新45次,一秒内要绘制45帧页面,每帧页面的绘制时间约为22毫秒),画面的流畅度就能够满足需求,则预设时间阈值可以取22毫秒。
在主线程绘制的页面过程中,监控线程可以按照上述方法获得每帧页面的绘制时间,并监控每帧页面的绘制时间是否超过预设时间阈值,如果没有超过,则继续监控,若出现某帧页面的绘制时间超过预设时间阈值,则执行步骤S204。
步骤S204、当出现绘制时间超过所述预设时间阈值时,利用所埋的点获取所述应用的所述预设位置的页面信息,并利用采集线程采集所述应用及终端的运行记录。
采集线程可以是在主线程中创建的子线程,所述运行记录包括但不限于应用使用率、中央处理器CPU使用率、内存信息、函数调用信息以及堆栈信息。
步骤S205、对所述页面信息以及所述运行记录进行聚合分析,得到所述应用的卡顿监控数据。
在对所述页面信息以及所述运行记录进行聚合分析之前,可以对所述页面信息以及所述运行记录进行筛选或过滤处理,以提高卡顿问题处理效率。
比如,开发人员在定位应用卡顿问题时,需要看到应用的业务堆栈,而应用的业务堆栈存在于大量的***堆栈之间,采集的堆栈信息中含有大量的***的堆栈,会影响开发人员定位应用的业务堆栈,因此,可以筛选出应用的业务堆栈,或过滤掉***的堆栈。
再比如,主线程在运行时,还有若干子线程也在运行,而在发生卡顿之后,采集的函数调用信息中也包含若干子线程的数据信息,因此,可以过滤掉子线程的函数调用信息,或者筛选出主线程的函数调用信息,以使得卡顿点定位更加准确。
在对所述页面信息以及所述运行记录进行筛选或过滤处理之后,可以利用配套脚本对得到的数据进行聚合分析,得到应用的卡顿监控数据。比如,可以检测运行记录是否符合标准,例如CPU使用率,可以检测CPU使用率是否超过阈值(比如70%),若超过,则将该信息存入卡顿监控数据的文件中。另外,还可以根据得到的应用的卡顿监控数据,在终端的桌面以悬浮窗的方式展示丢帧数据,以直观地展示监控效果,便于及时发现卡顿情况。进一步地,还可以接入SNGAPM组件(一种移动端性能监控组件),以向后台服务器上报主线程的耗时函数,从而实现对卡顿问题进行分析定位。
本实施例中,在监控到出现卡顿时,利用采集线程采集应用及终端的运行记录,并通过预设位置的埋点,快速、准确地获得卡顿点的页面信息,根据获取的页面信息和运行记录可以得到应用的卡顿监控数据,从而为卡顿原因分析及卡顿问题解决提供了有效的参考依据。
上述实施例描述的方法,本实施例将结合应用的框架结构做进一步的描述,请参阅图3,本实施例的监控应用卡顿的方法包括以下步骤:
步骤S301、在应用的预设位置埋点。
本实施例提及的应用,指的是安装在终端内,需要进行卡顿监控的安卓(Android)应用,比如:游戏应用、听歌应用、社交通讯应用等。
预设位置可以是应用的关键位置、需要监控的位置、或容易出现卡顿的位置等,比如:预设位置可以是应用的片段(Fragment)栈、核心页面、列表滑动处以及动画切换处。通过预设位置的埋点可以获得对应预设位置的页面信息,该页面信息例如:页面停留时间、页面操作时间、页面操作频率等。具体地,例如图4所示,埋点操作可以在业务层进行。
步骤S302、调用主线程绘制所述应用的界面。
主线程(Main Thread),即负责对需要进行卡顿监控的应用的界面(UI)绘制的线程,其使用主循环(Main Looper)来负责界面绘制任务。主循环会不断地从消息队列中取出消息,调用其绑定的Handler在主线程执行界面绘制的任务。
另外,可以在主线程中,创建消息处理器Choreographer,以实现统一调度界面绘图。Choreographer主要作用是协调动画,输入和绘制的时间,它从显示子***接收定时脉冲(例如垂直同步),然后安排渲染下一个帧的一部分工作。
步骤S303、针对静态页面,利用消息处理器的帧回调接口获取静态页面的前后两帧的绘制时间间隔,根据所述绘制时间间隔得到每帧页面的绘制时间。
由于启用消息处理器Choreographer之后,每帧页面在开始被绘制时,会触发帧回调接口Frame Callback和Choreographer交互,因此,可以在主线程中创建监控线程,监控线程利用消息处理器Choreographer的帧回调接口Frame Callback获取所述静态页面的前后两帧的绘制时间间隔,根据所述绘制时间间隔得到每帧页面的绘制时间。
步骤S304、调用主线程绘制所述应用的界面,利用反射机制在主循环中添加日志打印接口。
步骤S305、针对静态页面,利用主循环的日志打印接口获取每帧动态页面的开始绘制时间和结束绘制时间,根据所述开始绘制时间和结束绘制时间得到每帧页面的绘制时间。
具体地,可以在主线程中创建监控线程,在每帧开始绘制时,日志打印接口会打印出Dispatching to的日志,在每帧打印结束时,日志打印接口会打印出Finished to的日志,监控线程可以在日志打印接口打印出Dispatching to开始计时,在日志打印接口会打印出Finished to时,结束计时,所记录的耗时即每帧页面的绘制时间。
步骤S306、利用监控线程监控所述绘制时间是否超过预设时间阈值。
具体实现中,可以根据实际需求,设置每帧页面的绘制时间阈值。比如,当帧率为45时(即画面一秒更新45次,一秒内要绘制45帧页面,每帧页面的绘制时间约为22毫秒),画面的流畅度就能够满足需求,则预设时间阈值可以取22毫秒。
步骤S307、当出现绘制时间超过预设时间阈值时,利用所埋的点获取所述应用的预设位置的页面信息,并利用采集线程采集所述应用及终端的运行记录。
采集线程可以是在主线程中创建的子线程,所述运行记录包括但不限于应用使用率、中央处理器CPU使用率、内存信息、函数调用信息以及堆栈信息。
步骤S308、对所述页面信息以及所述运行记录进行筛选或过滤处理。
在得到页面信息和运行记录之后,可以对所述页面信息以及所述运行记录进行筛选或过滤处理,以提到卡顿问题处理效率。
比如,开发人员在定位应用卡顿问题时,需要看到应用的业务堆栈,而应用的业务堆栈存在于大量的***堆栈之间,采集的堆栈信息中含有大量的***的堆栈,会影响开发人员定位应用的业务堆栈,因此,可以筛选出应用的业务堆栈,或过滤掉***的堆栈。
再比如,主线程在运行时,还有若干子线程也在运行,而在发生卡顿之后,采集的函数调用信息中也包含若干子线程的数据信息,因此,可以过滤掉其他字线程的函数调用信息,或者筛选出主线程的函数调用信息,以使得卡顿点定位更加准确。
步骤S309、对处理之后的数据进行聚合分析,得到所述应用的卡顿监控数据。
在对所述页面信息以及所述运行记录进行筛选或过滤处理之后,可以利用配套脚本对得到的数据进行聚合分析,得到应用的卡顿监控数据。另外,还可以根据得到的应用的卡顿监控数据,在终端的桌面以悬浮窗的方式展示丢帧数据,以直观地展示监控效果,便于及时发现卡顿情况。进一步地,还可以接入SNGAPM组件,向后台服务器上报主线程的耗时函数,以对卡顿进行分析定位。
本实施例所涉及的应用的框架结构可如图4所示,包括接口层、业务层和数据层。
接口层,位于最外层(最上层),最接近用户,用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。具体在本实施例中,接口层可以提供应用与终端的上下文关系,实现数据采集策略的设置。
业务层,是***架构中体现核心价值的部分,它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的***设计,也即是说它是与***所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。业务逻辑层在体系架构中的位置很关键,它处于数据层与接口层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据层而言,它是调用者;对于接口层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。具体在本实施例中,埋点及采集操作都可以在业务层实现。
数据层,有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库***、二进制文件、文本文档。简单的说法就是实现对数据表的选择(Select),***(Insert),更新(Update),删除(Delete)的操作。如果要加入对象关系映射的元素,那么就会包括对象和数据表之间的映射,以及对象实体的持久化。具体在本实施例中,数据上报、监测、分析等处理可以在数据层实现。
本实施例中,在监控到出现卡顿时,利用采集线程采集应用及终端的运行记录,并通过预设位置的埋点,快速、准确地获得卡顿点的页面信息,根据获取的页面信息和运行记录可以得到应用的卡顿监控数据,从而为卡顿原因分析及卡顿问题解决提供了有效的参考依据。
为了更好地实施以上方法,本发明实施例还提供一种监控应用卡顿的装置,如图5所示,本实施例的装置包括埋点单元401、绘制单元402、监控单元403、采集单元404以及处理单元405,如下:
埋点单元401,用于在应用的预设位置埋点;
绘制单元402,用于调用主线程绘制所述应用的界面;
监控单元403,用于获取所述界面的每帧页面的绘制时间,并利用监控线程监控每帧页面的绘制时间是否超过预设时间阈值;
采集单元404,用于当出现绘制时间超过所述预设时间阈值时,利用所埋的点获取所述应用的所述预设位置的页面信息,并利用采集线程采集所述应用及终端的运行记录;
处理单元405,用于对所述页面信息以及所述运行记录进行聚合分析,得到所述应用的卡顿监控数据。
一实施例中,埋点单元401具体用于:
在所述应用的片段Fragment栈、核心页面、列表滑动处以及动画切换处埋点。
一实施例中,如图6所示,所述监控单元403包括:
第一获取单元4031,用于针对静态页面,利用消息处理器Choreographer的帧回调接口Frame Callback获取所述静态页面的前后两帧的绘制时间间隔,根据所述绘制时间间隔得到每帧页面的绘制时间;
第一监控单元4032,用于利用监控线程监控每帧页面的绘制时间是否超过预设时间阈值。
一实施例中,如图6所示,所述监控单元403包括:
第二获取单元4033,用于针对动态页面,利用主循环main looper的日志打印接口log printer获取每帧动态页面的开始绘制时间和结束绘制时间,根据所述开始绘制时间和结束绘制时间得到每帧页面的绘制时间;
第二监控单元4034,用于利用监控线程监控每帧页面的绘制时间是否超过预设时间阈值。
一实施例中,如图6所示,所述装置还包括:
添加单元406,用于利用反射机制在所述主循环中添加所述日志打印接口。
一实施例中,如图6所示,所述装置还包括:
筛选过滤单元407,用于对所述页面信息以及所述运行记录进行筛选或过滤处理。
一实施例中,所述运行记录包括:应用使用率、中央处理器CPU使用率、内存信息、函数调用信息以及堆栈信息。
需要说明的是,上述实施例提供的监控应用卡顿的装置在实现监控应用卡顿时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的监控应用卡顿的装置与监控应用卡顿的方法属于同一构思,其具体实现过程详见方法实施例,此处不再赘述。
本实施例中,当埋点单元在应用的预设位置埋点之后,绘制单元调用主线程绘制所述应用的界面,并由监控单元获取所述界面的每帧页面的绘制时间,利用监控线程监控每帧页面的绘制时间是否超过预设时间阈值,当出现绘制时间超过所述预设时间阈值时,采集单元利用所埋的点获取所述应用的所述预设位置的页面信息,并利用采集线程采集所述应用及终端的运行记录,最后由处理单元对所述页面信息以及所述运行记录进行聚合分析,得到所述应用的卡顿监控数据。即本实施例中,在监控到出现卡顿时,利用采集线程采集应用及终端的运行记录,并通过预设位置的埋点,快速、准确地获得卡顿点的页面信息,根据获取的页面信息和运行记录可以得到应用的卡顿监控数据,从而为卡顿原因分析及卡顿问题解决提供了有效的参考依据。
相应的,本发明实施例还提供了一种监控应用卡顿的装置,如图7所示,该装置可以包括射频(RF,Radio Frequency)电路501、包括有一个或一个以上计算机可读存储介质的存储器502、输入单元503、显示单元504、传感器505、音频电路506、无线保真(WiFi,Wireless Fidelity)模块507、包括有一个或者一个以上处理核心的处理器508、以及电源509等部件。本领域技术人员可以理解,图7中示出的装置结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路501可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器508处理;另外,将涉及上行的数据发送给基站。通常,RF电路501包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路501还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
存储器502可用于存储软件程序以及模块,处理器508通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据装置的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器508和输入单元503对存储器502的访问。
输入单元503可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元503可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器508,并能接收处理器508发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元503还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元504可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元504可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器508以确定触摸事件的类型,随后处理器508根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图7中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
装置还可包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在装置移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路506、扬声器,传声器可提供用户与终端之间的音频接口。音频电路506可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路506接收后转换为音频数据,再将音频数据输出处理器508处理后,经RF电路501以发送给比如另一装置,或者将音频数据输出至存储器502以便进一步处理。音频电路506还可能包括耳塞插孔,以提供外设耳机与装置的通信。
WiFi属于短距离无线传输技术,装置通过WiFi模块507可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块507,但是可以理解的是,其并不属于装置的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器508是装置的控制中心,利用各种接口和线路连接整个装置的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行终端的各种功能和处理数据,从而对装置进行整体监控。可选的,处理器508可包括一个或多个处理核心;优选的,处理器508可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器508中。
装置还包括给各个部件供电的电源509(比如电池),优选的,电源可以通过电源管理***与处理器508逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源509还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,装置还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,装置中的处理器508会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器508来运行存储在存储器502中的应用程序,从而实现各种功能:
在应用的预设位置埋点;
调用主线程绘制所述应用的界面;
获取所述界面的每帧页面的绘制时间,并利用监控线程监控每帧页面的绘制时间是否超过预设时间阈值;
当出现绘制时间超过所述预设时间阈值时,利用所埋的点获取所述应用的所述预设位置的页面信息,并利用采集线程采集所述应用及终端的运行记录;
对所述页面信息以及所述运行记录进行聚合分析,得到所述应用的卡顿监控数据。
在一些实施例中,在应用的预设位置埋点时,处理器508具体用于执行以下步骤:
在所述应用的片段Fragment栈、核心页面、列表滑动处以及动画切换处埋点。
在一些实施例中,针对静态页面,在获取所述界面的每帧页面的绘制时间时,处理器508具体用于执行以下步骤:
利用消息处理器Choreographer的帧回调接口Frame Callback获取所述静态页面的前后两帧的绘制时间间隔,根据所述绘制时间间隔得到每帧页面的绘制时间。
在一些实施例中,针对动态页面,在获取所述界面的每帧页面的绘制时间处理器508具体用于执行以下步骤:
利用主循环main looper的日志打印接口log printer获取每帧动态页面的开始绘制时间和结束绘制时间,根据所述开始绘制时间和结束绘制时间得到每帧页面的绘制时间。
在一些实施例中,在利用主循环的日志打印接口获取每帧动态页面的开始绘制时间和结束绘制时间之前,处理器508还用于执行以下步骤:
利用反射机制在所述主循环中添加所述日志打印接口。
在一些实施例中,在对所述页面信息以及所述运行记录进行聚合分析,得到所述应用的卡顿监控数据之前,处理器508还用于执行以下步骤:
对所述页面信息以及所述运行记录进行筛选或过滤处理。
在一些实施例中,所述运行记录包括:应用使用率、中央处理器CPU使用率、内存信息、函数调用信息以及堆栈信息。
本实施例的监控应用卡顿的装置,在监控到出现卡顿时,利用采集线程采集应用及终端的运行记录,并通过预设位置的埋点,快速、准确地获得卡顿点的页面信息,根据获取的页面信息和运行记录可以得到应用的卡顿监控数据,从而为卡顿原因分析及卡顿问题解决提供了有效的参考依据。
本申请实施例还提供一种存储设备,所述存储设备存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述任一实施例中的视频转码方法,比如:在应用的预设位置埋点;调用主线程绘制所述应用的界面;获取所述界面的每帧页面的绘制时间,并利用监控线程监控每帧页面的绘制时间是否超过预设时间阈值;当出现绘制时间超过所述预设时间阈值时,利用所埋的点获取所述应用的所述预设位置的页面信息,并利用采集线程采集所述应用及终端的运行记录;对所述页面信息以及所述运行记录进行聚合分析,得到所述应用的卡顿监控数据。
在本申请实施例中,存储设备可以是磁碟、光盘、只读存储器(Read Only Memory,ROM,)、或者随机存取记忆体(Random Access Memory,RAM)等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
需要说明的是,对本申请实施例的监控应用卡顿的方法而言,本领域普通决策人员可以理解实现本申请实施例的监控应用卡顿的方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在电子设备的存储器中,并被该电子设备内的至少一个处理器执行,在执行过程中可包括如监控应用卡顿的方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器、随机存取记忆体等。
对本申请实施例的监控应用卡顿的装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
以上对本申请实施例所提供的一种监控应用卡顿的方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (14)
1.一种监控应用卡顿的方法,其特征在于,包括:
在应用的预设位置埋点;
调用主线程绘制所述应用的界面;
获取所述界面的每帧页面的绘制时间,并利用监控线程监控每帧页面的绘制时间是否超过预设时间阈值;
当出现绘制时间超过所述预设时间阈值时,利用所埋的点获取所述应用的所述预设位置的页面信息,并利用采集线程采集所述应用及终端的运行记录;
对所述页面信息以及所述运行记录进行聚合分析,得到所述应用的卡顿监控数据。
2.根据权利要求1所述的方法,其特征在于,所述在应用的预设位置埋点,包括:
在所述应用的片段Fragment栈、核心页面、列表滑动处以及动画切换处埋点。
3.根据权利要求1所述的方法,其特征在于,所述获取所述界面的每帧页面的绘制时间,包括:
针对静态页面,利用消息处理器Choreographer的帧回调接口Frame Callback获取所述静态页面的前后两帧的绘制时间间隔,根据所述绘制时间间隔得到每帧页面的绘制时间。
4.根据权利要求1所述的方法,其特征在于,所述获取所述界面的每帧页面的绘制时间,包括:
针对动态页面,利用主循环Main Looper的日志打印接口Log Printer获取每帧动态页面的开始绘制时间和结束绘制时间,根据所述开始绘制时间和结束绘制时间得到每帧页面的绘制时间。
5.根据权利要求4所述的方法,其特征在于,在利用主循环的日志打印接口获取每帧动态页面的开始绘制时间和结束绘制时间之前,还包括:
利用反射机制在所述主循环中添加所述日志打印接口。
6.根据权利要求1至5任意一项所述的方法,其特征在于,在对所述页面信息以及所述运行记录进行聚合分析,得到所述应用的卡顿监控数据之前,还包括:
对所述页面信息以及所述运行记录进行筛选或过滤处理。
7.根据权利要求1至5任意一项所述的方法,其特征在于,所述运行记录包括:应用使用率、中央处理器CPU使用率、内存信息、函数调用信息以及堆栈信息。
8.一种监控应用卡顿的装置,其特征在于,包括:
埋点单元,用于在应用的预设位置埋点;
绘制单元,用于调用主线程绘制所述应用的界面;
监控单元,用于获取所述界面的每帧页面的绘制时间,并利用监控线程监控每帧页面的绘制时间是否超过预设时间阈值;
采集单元,用于当出现绘制时间超过所述预设时间阈值时,利用所埋的点获取所述应用的所述预设位置的页面信息,并利用采集线程采集所述应用及终端的运行记录;
处理单元,用于对所述页面信息以及所述运行记录进行聚合分析,得到所述应用的卡顿监控数据。
9.根据权利要求8所述的装置,其特征在于,所述埋点单元具体用于:
在所述应用的片段Fragment栈、核心页面、列表滑动处以及动画切换处埋点。
10.根据权利要求8所述的装置,其特征在于,所述监控单元包括:
第一获取单元,用于针对静态页面,利用消息处理器Choreographer的帧回调接口Frame Callback获取所述静态页面的前后两帧的绘制时间间隔,根据所述绘制时间间隔得到每帧页面的绘制时间;
第一监控单元,用于利用监控线程监控每帧页面的绘制时间是否超过预设时间阈值。
11.根据权利要求8所述的装置,其特征在于,所述监控单元包括:
第二获取单元,用于针对动态页面,利用主循环Main Looper的日志打印接口LogPrinter获取每帧动态页面的开始绘制时间和结束绘制时间,根据所述开始绘制时间和结束绘制时间得到每帧页面的绘制时间;
第二监控单元,用于利用监控线程监控每帧页面的绘制时间是否超过预设时间阈值。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
添加单元,用于利用反射机制在所述主循环中添加所述日志打印接口。
13.根据权利要求8至12任意一项所述的装置,其特征在于,所述装置还包括:
筛选过滤单元,用于对所述页面信息以及所述运行记录进行筛选或过滤处理。
14.根据权利要求8至12任意一项所述的装置,其特征在于,所述运行记录包括:应用使用率、中央处理器CPU使用率、内存信息、函数调用信息以及堆栈信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810198406.3A CN108512695B (zh) | 2018-03-12 | 2018-03-12 | 监控应用卡顿的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810198406.3A CN108512695B (zh) | 2018-03-12 | 2018-03-12 | 监控应用卡顿的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108512695A true CN108512695A (zh) | 2018-09-07 |
CN108512695B CN108512695B (zh) | 2021-06-01 |
Family
ID=63377445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810198406.3A Active CN108512695B (zh) | 2018-03-12 | 2018-03-12 | 监控应用卡顿的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108512695B (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109324946A (zh) * | 2018-09-10 | 2019-02-12 | 天津字节跳动科技有限公司 | 运行监测方法、装置、电子设备及计算机可读存储介质 |
CN109446094A (zh) * | 2018-11-05 | 2019-03-08 | 网易(杭州)网络有限公司 | 一种卡顿检测方法、装置、电子设备和存储介质 |
CN109491907A (zh) * | 2018-11-05 | 2019-03-19 | 网易(杭州)网络有限公司 | 一种卡顿检测方法、装置、电子设备和存储介质 |
CN109753262A (zh) * | 2019-01-04 | 2019-05-14 | Oppo广东移动通信有限公司 | 帧显示处理方法、装置、终端设备及存储介质 |
CN109885405A (zh) * | 2019-02-02 | 2019-06-14 | 珠海金山网络游戏科技有限公司 | 一种动态分配方法及***、计算设备及存储介质 |
CN109902011A (zh) * | 2019-02-28 | 2019-06-18 | 深圳乐信软件技术有限公司 | 一种软件卡顿监测方法、装置、设备和存储介质 |
CN109935312A (zh) * | 2019-02-28 | 2019-06-25 | 深圳市理邦精密仪器股份有限公司 | 监护仪的运行控制方法、装置、监护仪及介质 |
CN109960659A (zh) * | 2019-03-29 | 2019-07-02 | 百度国际科技(深圳)有限公司 | 用于检测应用程序的方法和装置 |
CN110825466A (zh) * | 2019-11-11 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 一种程序卡顿的处理方法以及卡顿处理装置 |
CN110955438A (zh) * | 2019-12-03 | 2020-04-03 | 北京博睿宏远数据科技股份有限公司 | 一种小程序的性能监控方法、装置、设备及存储介质 |
CN110990243A (zh) * | 2019-11-29 | 2020-04-10 | 天津网之易创新科技有限公司 | 卡顿分析方法、装置、存储介质和计算设备 |
CN111338934A (zh) * | 2020-02-13 | 2020-06-26 | 北京字节跳动网络技术有限公司 | 页面刷新测试的方法、装置、计算机设备和存储介质 |
CN111427779A (zh) * | 2020-03-18 | 2020-07-17 | 深圳市乐宜科技有限公司 | 应用程序的卡顿信息采集方法和装置 |
CN111639004A (zh) * | 2020-05-12 | 2020-09-08 | 腾讯音乐娱乐科技(深圳)有限公司 | 用户界面卡顿监控方法、装置及存储介质 |
CN111949512A (zh) * | 2020-07-09 | 2020-11-17 | 厦门美柚股份有限公司 | 应用程序的卡顿检测方法、装置、终端及介质 |
CN111949511A (zh) * | 2020-07-09 | 2020-11-17 | 厦门美柚股份有限公司 | 应用程序的卡顿处理方法、装置、终端及存储介质 |
CN112015612A (zh) * | 2019-05-28 | 2020-12-01 | 杭州萤石软件有限公司 | 一种获取卡顿信息的方法及装置 |
CN112527627A (zh) * | 2020-11-02 | 2021-03-19 | 百果园技术(新加坡)有限公司 | 一种页面卡顿检测方法、装置、设备及介质 |
CN113806183A (zh) * | 2021-10-08 | 2021-12-17 | 腾讯科技(深圳)有限公司 | 应用卡顿处理方法、装置、设备、存储介质和程序产品 |
CN114077529A (zh) * | 2022-01-19 | 2022-02-22 | 荣耀终端有限公司 | 日志上传方法、装置、电子设备及计算机可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601770A (zh) * | 2014-12-25 | 2015-05-06 | 惠州Tcl移动通信有限公司 | 一种终端及其流畅性评测方法 |
CN106095363A (zh) * | 2016-06-03 | 2016-11-09 | 广东欧珀移动通信有限公司 | 一种终端卡顿的改善方法、装置以及终端 |
CN106547504A (zh) * | 2015-09-21 | 2017-03-29 | 腾讯科技(深圳)有限公司 | 流畅度评估方法及装置 |
CN106598806A (zh) * | 2016-12-05 | 2017-04-26 | 北京金和网络股份有限公司 | 监控基于 iPhone 平台开发的手机 APP 卡顿的方法 |
CN106681913A (zh) * | 2016-12-08 | 2017-05-17 | 武汉斗鱼网络科技有限公司 | 一种应用卡顿定位***及方法 |
CN106776253A (zh) * | 2016-12-08 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 一种界面卡顿监测方法及装置 |
CN107193515A (zh) * | 2017-04-10 | 2017-09-22 | 腾讯科技(深圳)有限公司 | 动画显示流畅度的监控方法、装置及其设备 |
CN107436840A (zh) * | 2017-08-01 | 2017-12-05 | 北京奇虎科技有限公司 | 应用程序运行性能分析方法、装置及*** |
-
2018
- 2018-03-12 CN CN201810198406.3A patent/CN108512695B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601770A (zh) * | 2014-12-25 | 2015-05-06 | 惠州Tcl移动通信有限公司 | 一种终端及其流畅性评测方法 |
CN106547504A (zh) * | 2015-09-21 | 2017-03-29 | 腾讯科技(深圳)有限公司 | 流畅度评估方法及装置 |
CN106095363A (zh) * | 2016-06-03 | 2016-11-09 | 广东欧珀移动通信有限公司 | 一种终端卡顿的改善方法、装置以及终端 |
CN106598806A (zh) * | 2016-12-05 | 2017-04-26 | 北京金和网络股份有限公司 | 监控基于 iPhone 平台开发的手机 APP 卡顿的方法 |
CN106681913A (zh) * | 2016-12-08 | 2017-05-17 | 武汉斗鱼网络科技有限公司 | 一种应用卡顿定位***及方法 |
CN106776253A (zh) * | 2016-12-08 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 一种界面卡顿监测方法及装置 |
CN107193515A (zh) * | 2017-04-10 | 2017-09-22 | 腾讯科技(深圳)有限公司 | 动画显示流畅度的监控方法、装置及其设备 |
CN107436840A (zh) * | 2017-08-01 | 2017-12-05 | 北京奇虎科技有限公司 | 应用程序运行性能分析方法、装置及*** |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109324946A (zh) * | 2018-09-10 | 2019-02-12 | 天津字节跳动科技有限公司 | 运行监测方法、装置、电子设备及计算机可读存储介质 |
CN109446094B (zh) * | 2018-11-05 | 2022-05-17 | 网易(杭州)网络有限公司 | 一种卡顿检测方法、装置、电子设备和存储介质 |
CN109446094A (zh) * | 2018-11-05 | 2019-03-08 | 网易(杭州)网络有限公司 | 一种卡顿检测方法、装置、电子设备和存储介质 |
CN109491907A (zh) * | 2018-11-05 | 2019-03-19 | 网易(杭州)网络有限公司 | 一种卡顿检测方法、装置、电子设备和存储介质 |
CN109753262B (zh) * | 2019-01-04 | 2022-06-28 | Oppo广东移动通信有限公司 | 帧显示处理方法、装置、终端设备及存储介质 |
CN109753262A (zh) * | 2019-01-04 | 2019-05-14 | Oppo广东移动通信有限公司 | 帧显示处理方法、装置、终端设备及存储介质 |
CN109885405A (zh) * | 2019-02-02 | 2019-06-14 | 珠海金山网络游戏科技有限公司 | 一种动态分配方法及***、计算设备及存储介质 |
CN109885405B (zh) * | 2019-02-02 | 2021-11-12 | 珠海金山网络游戏科技有限公司 | 一种动态分配方法及***、计算设备及存储介质 |
CN109902011A (zh) * | 2019-02-28 | 2019-06-18 | 深圳乐信软件技术有限公司 | 一种软件卡顿监测方法、装置、设备和存储介质 |
CN109935312A (zh) * | 2019-02-28 | 2019-06-25 | 深圳市理邦精密仪器股份有限公司 | 监护仪的运行控制方法、装置、监护仪及介质 |
CN109960659A (zh) * | 2019-03-29 | 2019-07-02 | 百度国际科技(深圳)有限公司 | 用于检测应用程序的方法和装置 |
CN112015612A (zh) * | 2019-05-28 | 2020-12-01 | 杭州萤石软件有限公司 | 一种获取卡顿信息的方法及装置 |
CN112015612B (zh) * | 2019-05-28 | 2023-04-14 | 杭州萤石软件有限公司 | 一种获取卡顿信息的方法及装置 |
CN110825466A (zh) * | 2019-11-11 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 一种程序卡顿的处理方法以及卡顿处理装置 |
CN110825466B (zh) * | 2019-11-11 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 一种程序卡顿的处理方法以及卡顿处理装置 |
CN110990243A (zh) * | 2019-11-29 | 2020-04-10 | 天津网之易创新科技有限公司 | 卡顿分析方法、装置、存储介质和计算设备 |
CN110990243B (zh) * | 2019-11-29 | 2023-08-11 | 天津网之易创新科技有限公司 | 卡顿分析方法、装置、存储介质和计算设备 |
CN110955438A (zh) * | 2019-12-03 | 2020-04-03 | 北京博睿宏远数据科技股份有限公司 | 一种小程序的性能监控方法、装置、设备及存储介质 |
CN111338934A (zh) * | 2020-02-13 | 2020-06-26 | 北京字节跳动网络技术有限公司 | 页面刷新测试的方法、装置、计算机设备和存储介质 |
CN111427779A (zh) * | 2020-03-18 | 2020-07-17 | 深圳市乐宜科技有限公司 | 应用程序的卡顿信息采集方法和装置 |
CN111639004A (zh) * | 2020-05-12 | 2020-09-08 | 腾讯音乐娱乐科技(深圳)有限公司 | 用户界面卡顿监控方法、装置及存储介质 |
CN111639004B (zh) * | 2020-05-12 | 2023-03-24 | 腾讯音乐娱乐科技(深圳)有限公司 | 用户界面卡顿监控方法、装置及存储介质 |
CN111949512A (zh) * | 2020-07-09 | 2020-11-17 | 厦门美柚股份有限公司 | 应用程序的卡顿检测方法、装置、终端及介质 |
CN111949511A (zh) * | 2020-07-09 | 2020-11-17 | 厦门美柚股份有限公司 | 应用程序的卡顿处理方法、装置、终端及存储介质 |
CN112527627A (zh) * | 2020-11-02 | 2021-03-19 | 百果园技术(新加坡)有限公司 | 一种页面卡顿检测方法、装置、设备及介质 |
CN112527627B (zh) * | 2020-11-02 | 2024-05-10 | 百果园技术(新加坡)有限公司 | 一种页面卡顿检测方法、装置、设备及介质 |
CN113806183A (zh) * | 2021-10-08 | 2021-12-17 | 腾讯科技(深圳)有限公司 | 应用卡顿处理方法、装置、设备、存储介质和程序产品 |
CN113806183B (zh) * | 2021-10-08 | 2023-11-07 | 腾讯科技(深圳)有限公司 | 应用卡顿处理方法、装置、设备、存储介质和程序产品 |
CN114077529A (zh) * | 2022-01-19 | 2022-02-22 | 荣耀终端有限公司 | 日志上传方法、装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108512695B (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108512695A (zh) | 监控应用卡顿的方法及装置 | |
CN104427074B (zh) | 一种显示来电信息的方法、装置和*** | |
US10956280B2 (en) | Data backup method, electronic device, and storage medium | |
CN104519485B (zh) | 一种终端之间的通信方法、装置和*** | |
CN106502906B (zh) | 一种测试应用程序的方法和装置 | |
CN106354458B (zh) | 双屏显示方法及装置 | |
CN106708554B (zh) | 程序运行方法及装置 | |
CN103631580B (zh) | 一种生成主题图标的方法和装置 | |
CN107391198B (zh) | 任务调度方法和装置、计算机可读存储介质、移动终端 | |
CN106371964A (zh) | 一种进行消息提示的方法和装置 | |
CN106385485A (zh) | 通话录音方法、装置及移动终端 | |
CN106332023A (zh) | 未读信息显示方法、装置和移动终端 | |
CN108595483A (zh) | 数据处理方法及相关装置 | |
CN106789307B (zh) | 配置数据处理方法、装置及*** | |
CN108984142A (zh) | 分屏显示方法、装置、存储介质和电子设备 | |
CN104731782B (zh) | 一种信息处理的方法及移动终端 | |
CN104063400A (zh) | 数据搜索方法和装置 | |
CN108984374A (zh) | 一种数据库性能的测试方法和*** | |
CN105302589B (zh) | 一种获取卸载信息的方法及装置 | |
CN106371797A (zh) | 配置音效的方法及装置 | |
CN106375182A (zh) | 基于即时通信应用的语音通信方法及装置 | |
CN106708501B (zh) | 活动监控方法及装置 | |
CN108804251A (zh) | 一种运行维护的数据处理方法和装置 | |
CN105991405A (zh) | 一种即时通信的建立方法及装置 | |
CN108959062A (zh) | 网页元素获取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |