CN107749914A - 卡顿数据获取方法及装置 - Google Patents
卡顿数据获取方法及装置 Download PDFInfo
- Publication number
- CN107749914A CN107749914A CN201710951081.7A CN201710951081A CN107749914A CN 107749914 A CN107749914 A CN 107749914A CN 201710951081 A CN201710951081 A CN 201710951081A CN 107749914 A CN107749914 A CN 107749914A
- Authority
- CN
- China
- Prior art keywords
- interim card
- card data
- application
- time
- data
- 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
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/24—Arrangements for testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Analysis (AREA)
Abstract
本公开是关于一种卡顿数据获取方法及装置,属于测试技术领域。所述方法包括:在多个获取时间点获取至少一个应用的卡顿数据,得到至少一个应用中每个应用的多个卡顿数据;比对至少一个应用中每个应用的多个卡顿数据的统计开始时间点;当至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,将应用作为指定应用,得到至少一个指定应用;对于至少一个指定应用中的每个指定应用,从指定应用的多个卡顿数据中选取多个待累加卡顿数据;对多个待累加数据进行累加运算,得到指定应用的匹配卡顿数据。本公开获取的卡顿数据能够准确而真实地反映终端从开机以来第一次启动应用到最后一个获取时间点的时间范围内运行应用的卡顿情况。
Description
技术领域
本公开是关于测试技术领域,具体来说是关于一种卡顿数据获取方法及装置。
背景技术
卡顿是指终端出现画面停滞、声音间断等运行不畅的情况。在测试终端的过程中,经常需要获取终端在运行应用的过程中的卡顿数据,以便后续通过卡顿数据衡量终端运行应用的卡顿情况。
目前卡顿数据的获取过程都是通过调用一次绘图统计(graphicsstats)服务提供的输出(dump)装置实现的,其原理为:graphicsstats服务提供了mActive变量和HistoricalLog变量这两个变量,mActive变量用于存储当前运行的应用的卡顿数据,HistoricalLog变量用于存储已经挂起的应用的卡顿数据,当任一应用启动时,会生成该应用的卡顿数据,并在mActive变量存储该应用的卡顿数据,该卡顿数据包括时间戳、卡顿帧数、绘制帧数等,该时间戳用于记录卡顿数据的统计开始时间点。在应用的运行过程中,会在mActive变量中累计卡顿帧数和绘制帧数。而当应用挂起时,会清除mActive变量中该应用的卡顿数据,将当前记录的卡顿数据存储于mHistoricalLog变量中。之后,当应用再次启动时,会从mHistoricalLog变量中重新调用卡顿数据,放回mActive变量中,对该卡顿数据进行复用,即,不改变卡顿数据的时间戳,而在该卡顿数据的卡顿帧数和绘制帧数的基础上进行累计。当调用dump装置时,会输出mActive变量和HistoricalLog变量存储的所有应用的卡顿数据,每个应用的卡顿数据用于反映该应用从本次开机以来第一次启动的时间点到当前时间点之间的卡顿情况。
发明内容
本公开提供了一种卡顿数据获取方法及装置,能够解决相关技术中存在的卡顿数据不准确的问题。所述技术方案如下:
根据本公开实施例的第一方面,提供了一种卡顿数据获取方法,应用于终端中,所述方法包括:
在多个获取时间点获取至少一个应用的卡顿数据,得到所述至少一个应用中每个应用的多个卡顿数据,所述多个卡顿数据中的任一卡顿数据用于反映对应应用从本次开机以来第一次启动的时间点到所述卡顿数据的获取时间点之间的卡顿情况;
比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点;
当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,将所述应用作为指定应用,得到至少一个指定应用;
对于所述至少一个指定应用中的每个指定应用,从所述指定应用的多个卡顿数据中选取多个待累加卡顿数据;
对所述多个待累加数据进行累加运算,得到所述指定应用的匹配卡顿数据。
本实施例提供的方法,通过比对每个应用的多个卡顿数据的统计开始时间点,可以获知应用的卡顿数据是否已经丢失,当任一应用的卡顿数据已经丢失时,将该应用确定为指定应用,为该指定应用的多个待累加卡顿数据进行累加运算,得到的匹配卡顿数据综合了多次获取的卡顿数据的结果,能够准确而真实地反映终端从开机以来第一次运行该应用到最后一个获取时间点的时间范围内的运行应用过程的卡顿情况,更加准确可靠,避免由于卡顿数据丢失造成测试结果不准确的问题。
在一种可能的设计中,所述比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点,包括:
对于所述至少一个应用中的每个应用,从所述应用的多个卡顿数据中选取第一个卡顿数据和最后一个卡顿数据,所述多个卡顿数据已按照获取时间点从早到晚的顺序排列;
当所述第一个卡顿数据的统计开始时间点和所述最后一个卡顿数据的统计开始时间点不同时,确定所述应用的卡顿数据的统计开始时间点发生改变。
在一种可能的设计中,所述对于所述至少一个指定应用中的每个指定应用,从所述指定应用的多个卡顿数据中选取多个待累加卡顿数据,包括:
从所述指定应用的多个卡顿数据中选取统计开始时间点与下一个卡顿数据的统计开始时间点不同的至少一个卡顿数据,作为至少一个所述待累加数据,所述多个卡顿数据按照获取时间点从早到晚的顺序排序;
从所述多个卡顿数据中选取最后一个卡顿数据,作为所述待累加卡顿数据。
在一种可能的设计中,所述从所述指定应用的多个卡顿数据中选取统计开始时间点与下一个卡顿数据的统计开始时间点不同的至少一个卡顿数据,作为至少一个所述待累加数据,包括:
对于所述指定应用的多个卡顿数据中除了第一个卡顿数据以外的任一个卡顿数据,比对所述卡顿数据的统计开始时间点和所述卡顿数据的上一个卡顿数据的统计开始时间点;
当两个统计开始时间点不同时,将所述上一个卡顿数据作为所述待累加卡顿数据。
在一种可能的设计中,所述从所述指定应用的多个卡顿数据中选取统计开始时间点与下一个卡顿数据的统计开始时间点不同的至少一个卡顿数据,作为至少一个所述待累加数据,包括:
对于所述指定应用的多个卡顿数据中除了第一个卡顿数据以外的任一个卡顿数据,比对所述卡顿数据的统计开始时间点和所述多个卡顿数据中最后一个卡顿数据的统计开始时间点;
当两个统计开始时间点不同时,执行所述比对所述卡顿数据的统计开始时间点和所述卡顿数据的上一个卡顿数据的统计开始时间点的步骤;
当两个统计开始时间点相同时,将所述卡顿数据的上一个卡顿数据作为所述待累加卡顿数据,并取消执行针对所述卡顿数据的下一个卡顿数据到最后一个卡顿数据的比对步骤。
在一种可能的设计中,所述匹配卡顿数据包括匹配卡顿帧数、匹配绘制帧数和匹配直方图数据中的至少一项。
在一种可能的设计中,所述对所述多个待累加卡顿数据进行累加运算,得到所述指定应用的匹配卡顿数据,包括:
获取所述多个待累加卡顿数据的卡顿帧数,得到多个卡顿帧数;
计算所述多个卡顿帧数的和值,作为所述指定应用的匹配卡顿帧数。
在一种可能的设计中,所述对所述多个待累加卡顿数据进行累加运算,得到所述指定应用的匹配卡顿数据,包括:
获取所述多个待累加卡顿数据的绘制帧数,得到多个绘制帧数;
计算所述多个绘制帧数的和值,作为匹配绘制帧数。
在一种可能的设计中,所述对所述多个待累加卡顿数据进行累加运算,得到所述指定应用的匹配卡顿数据,包括:
获取所述多个待累加卡顿数据的直方图数据,得到多个直方图数据,所述多个直方图数据中的每个直方图数据包括至少一个绘制时长和对应的至少一个帧数;
对于所述至少一个绘制时长中的每个绘制时长,计算所述多个直方图数据中所述绘制时长对应的多个帧数的和值,作为所述绘制时长的匹配帧数;
基于每个绘制时长的匹配帧数,获取匹配直方图数据,所述匹配直方图数据包括至少一个绘制时长和对应的至少一个匹配帧数。
在一种可能的设计中,所述当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,将所述应用作为指定应用之后,所述方法还包括:
对于所述至少一个应用中除了所述至少一个指定应用以外的任一应用,获取所述应用的多个卡顿数据中的最后一个卡顿数据,作为所述应用的匹配卡顿数据,所述多个卡顿数据按照获取时间点从早到晚的顺序排序。
在一种可能的设计中,所述对所述多个待累加数据进行累加运算,得到所述指定应用的匹配卡顿数据之后,所述方法还包括以下至少一项:
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的匹配卡顿帧数,得到至少一个匹配卡顿帧数;计算所述至少一个匹配卡顿帧数的和值,作为所述至少一个应用的卡顿总帧数;
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的匹配绘制帧数,得到至少一个匹配绘制帧数;计算所述至少一个匹配绘制帧数的和值,作为所述至少一个应用的匹配总帧数;
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的匹配直方图数据,得到至少一个匹配直方图数据;基于所述至少一个匹配直方图数据,获取所述至少一个应用的卡顿总时长。
在一种可能的设计中,所述在多个获取时间点获取至少一个应用的卡顿数据,包括:
通过测试工具,对所述至少一个应用执行模拟操作;
在模拟操作的过程中,在多个获取时间点获取所述至少一个应用的卡顿数据。
在一种可能的设计中,所述比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点之后,所述方法还包括:
当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,按照预设提示方式,提示用户所述应用的卡顿数据已发生丢失。
在一种可能的设计中,所述比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点之后,所述方法还包括:
当所述至少一个应用的卡顿数据的统计开始时间点均未发生改变时,对于所述至少一个应用中的任一应用,获取所述应用的多个卡顿数据中的最后一个卡顿数据,作为所述应用的匹配卡顿数据,所述多个卡顿数据按照获取时间点从早到晚的顺序排序。
根据本公开实施例的第二方面,提供了一种卡顿数据获取方法,应用于终端中,所述方法包括:
在多个获取时间点获取至少一个应用的卡顿数据,得到所述至少一个应用中每个应用的多个卡顿数据,所述多个卡顿数据中的任一卡顿数据用于反映对应应用从本次开机以来第一次启动的时间点到所述卡顿数据的获取时间点之间的卡顿情况;
比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点;
当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,确定所述多个获取时间点中的指定获取时间点;
对于所述至少一个应用中的每个应用,从所述应用的多个卡顿数据中选取所述指定获取时间点的卡顿数据,作为所述应用的匹配卡顿数据;
其中,所述指定获取时间点是指符合以下条件的获取时间点:在第一个获取时间点至所述指定获取时间点的时间范围内所述至少一个应用的统计开始时间点均未发生改变,且在所述指定获取时间点至所述指定获取时间点的下一个获取时间点的时间范围内所述至少一个应用中至少有一个应用的统计开始时间点发生改变。
本实施例提供的方法,通过比对每个应用的多个卡顿数据的统计开始时间点,可以获知应用的卡顿数据是否已经丢失,当任一应用的卡顿数据已经丢失时,确定出至少一个应用的卡顿数据均尚未发生丢失的最后一个获取时间点,将每个应用在该获取时间点的卡顿数据作为匹配卡顿数据。由于应用的匹配卡顿数据中尚未丢失数据,能够准确而真实地反映终端从开机以来第一次运行该应用到最后一个获取时间点的时间范围内的运行应用过程的卡顿情况,更加准确可靠,避免由于卡顿数据丢失造成测试结果不准确的问题。
在一种可能的设计中,所述比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点,包括:
对于所述至少一个应用中的每个应用,从所述应用的多个卡顿数据中选取第一个卡顿数据和最后一个卡顿数据,所述多个卡顿数据已按照获取时间点从早到晚的顺序排列;
当所述第一个卡顿数据的统计开始时间点和所述最后一个卡顿数据的统计开始时间点不同时,确定所述应用的卡顿数据的统计开始时间点发生改变。
在一种可能的设计中,所述当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,确定所述多个获取时间点中的指定获取时间点,包括:
对于所述至少一个应用中的每个应用,比对所述应用的第二个卡顿数据的统计开始时间点与所述应用的第一个卡顿数据的统计开始时间点;
当任一应用的第二个卡顿数据的统计开始时间点与所述应用的第一个卡顿数据的统计开始时间点不同时,将第一个获取时间点作为所述指定获取时间点;
当所述至少一个应用的第二个卡顿数据的统计开始时间点与第一个卡顿数据的统计开始时间点均相同时,继续比对每个应用的第三个卡顿数据的统计开始时间点与第一个卡顿数据的统计开始时间点,直到确定出所述指定获取时间点为止。
在一种可能的设计中,所述对于所述至少一个应用中的每个应用,从所述应用的多个卡顿数据中选取所述指定获取时间点的卡顿数据,作为所述应用的匹配卡顿数据之后,所述方法还包括以下至少一项:
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的卡顿帧数,得到至少一个卡顿帧数;计算所述至少一个卡顿帧数的和值,作为所述至少一个应用的卡顿总帧数;
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的绘制帧数,得到至少一个绘制帧数;计算所述至少一个绘制帧数的和值,作为所述至少一个应用的卡顿总帧数;
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的直方图数据,得到至少一个直方图数据;基于所述至少一个直方图数据,获取所述至少一个应用的卡顿总时长。
在一种可能的设计中,所述在多个获取时间点获取至少一个应用的卡顿数据,包括:
通过测试工具,对所述至少一个应用执行模拟操作;
在模拟操作的过程中,在多个获取时间点获取所述至少一个应用的卡顿数据。
在一种可能的设计中,所述比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点之后,所述方法还包括:
当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,按照预设提示方式,提示用户所述应用的卡顿数据已发生丢失。
在一种可能的设计中,所述比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点之后,所述方法还包括:
当所述至少一个应用的卡顿数据的统计开始时间点均未发生改变时,对于所述至少一个应用中的任一应用,获取所述应用的多个卡顿数据中的最后一个卡顿数据,作为所述应用的匹配卡顿数据,所述多个卡顿数据按照获取时间点从早到晚的顺序排序。
根据本公开实施例的第三方面,提供了一种卡顿数据获取装置,应用于终端中,所述装置包括:
获取模块,用于在多个获取时间点获取至少一个应用的卡顿数据,得到所述至少一个应用中每个应用的多个卡顿数据,所述多个卡顿数据中的任一卡顿数据用于反映对应应用从本次开机以来第一次启动的时间点到所述卡顿数据的获取时间点之间的卡顿情况;
比对模块,用于比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点;
确定模块,用于当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,将所述应用作为指定应用,得到至少一个指定应用;
选取模块,用于对于所述至少一个指定应用中的每个指定应用,从所述指定应用的多个卡顿数据中选取多个待累加卡顿数据;
运算模块,用于对所述多个待累加数据进行累加运算,得到所述指定应用的匹配卡顿数据。
在一种可能的设计中,所述比对模块,包括:
选取子模块,用于对于所述至少一个应用中的每个应用,从所述应用的多个卡顿数据中选取第一个卡顿数据和最后一个卡顿数据,所述多个卡顿数据已按照获取时间点从早到晚的顺序排列;
确定子模块,用于当所述第一个卡顿数据的统计开始时间点和所述最后一个卡顿数据的统计开始时间点不同时,确定所述应用的卡顿数据的统计开始时间点发生改变。
在一种可能的设计中,所述选取模块,用于从所述指定应用的多个卡顿数据中选取统计开始时间点与下一个卡顿数据的统计开始时间点不同的至少一个卡顿数据,作为至少一个所述待累加数据,所述多个卡顿数据按照获取时间点从早到晚的顺序排序;从所述多个卡顿数据中选取最后一个卡顿数据,作为所述待累加卡顿数据。
在一种可能的设计中,所述选取模块,用于对于所述指定应用的多个卡顿数据中除了第一个卡顿数据以外的任一个卡顿数据,比对所述卡顿数据的统计开始时间点和所述卡顿数据的上一个卡顿数据的统计开始时间点;当两个统计开始时间点不同时,将所述上一个卡顿数据作为所述待累加卡顿数据。
在一种可能的设计中,所述选取模块,用于对于所述指定应用的多个卡顿数据中除了第一个卡顿数据以外的任一个卡顿数据,比对所述卡顿数据的统计开始时间点和所述多个卡顿数据中最后一个卡顿数据的统计开始时间点;当两个统计开始时间点不同时,执行所述比对所述卡顿数据的统计开始时间点和所述卡顿数据的上一个卡顿数据的统计开始时间点的步骤;当两个统计开始时间点相同时,将所述卡顿数据的上一个卡顿数据作为所述待累加卡顿数据,并取消执行针对所述卡顿数据的下一个卡顿数据到最后一个卡顿数据的比对步骤。
在一种可能的设计中,所述匹配卡顿数据包括匹配卡顿帧数、匹配绘制帧数和匹配直方图数据中的至少一项。
在一种可能的设计中,所述运算模块,包括:
获取子模块,用于获取所述多个待累加卡顿数据的卡顿帧数,得到多个卡顿帧数;
计算子模块,用于计算所述多个卡顿帧数的和值,作为所述指定应用的匹配卡顿帧数。
在一种可能的设计中,所述运算模块,包括:
获取子模块,用于获取所述多个待累加卡顿数据的绘制帧数,得到多个绘制帧数;
计算子模块,用于计算所述多个绘制帧数的和值,作为匹配绘制帧数。
在一种可能的设计中,所述运算模块,包括:
获取子模块,用于获取所述多个待累加卡顿数据的直方图数据,得到多个直方图数据,所述多个直方图数据中的每个直方图数据包括至少一个绘制时长和对应的至少一个帧数;
计算子模块,用于对于所述至少一个绘制时长中的每个绘制时长,计算所述多个直方图数据中所述绘制时长对应的多个帧数的和值,作为所述绘制时长的匹配帧数;
所述获取子模块,用于基于每个绘制时长的匹配帧数,获取匹配直方图数据,所述匹配直方图数据包括至少一个绘制时长和对应的至少一个匹配帧数。
在一种可能的设计中,所述获取模块,还用于对于所述至少一个应用中除了所述至少一个指定应用以外的任一应用,获取所述应用的多个卡顿数据中的最后一个卡顿数据,作为所述应用的匹配卡顿数据,所述多个卡顿数据按照获取时间点从早到晚的顺序排序。
在一种可能的设计中,所述装置还用于执行以下至少一项:
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的匹配卡顿帧数,得到至少一个匹配卡顿帧数;计算所述至少一个匹配卡顿帧数的和值,作为所述至少一个应用的卡顿总帧数;
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的匹配绘制帧数,得到至少一个匹配绘制帧数;计算所述至少一个匹配绘制帧数的和值,作为所述至少一个应用的匹配总帧数;
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的匹配直方图数据,得到至少一个匹配直方图数据;基于所述至少一个匹配直方图数据,获取所述至少一个应用的卡顿总时长。
在一种可能的设计中,所述获取模块,还用于通过测试工具,对所述至少一个应用执行模拟操作;在模拟操作的过程中,在多个获取时间点获取所述至少一个应用的卡顿数据。
在一种可能的设计中,所述装置还包括:
提示模块,用于当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,按照预设提示方式,提示用户所述应用的卡顿数据已发生丢失。
在一种可能的设计中,所述获取模块,还用于当所述至少一个应用的卡顿数据的统计开始时间点均未发生改变时,对于所述至少一个应用中的任一应用,获取所述应用的多个卡顿数据中的最后一个卡顿数据,作为所述应用的匹配卡顿数据,所述多个卡顿数据按照获取时间点从早到晚的顺序排序。
根据本公开实施例的第四方面,提供了一种卡顿数据获取装置,应用于终端中,所述装置包括:
获取模块,用于在多个获取时间点获取至少一个应用的卡顿数据,得到所述至少一个应用中每个应用的多个卡顿数据,所述多个卡顿数据中的任一卡顿数据用于反映对应应用从本次开机以来第一次启动的时间点到所述卡顿数据的获取时间点之间的卡顿情况;
比对模块,用于比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点;
确定模块,用于当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,确定所述多个获取时间点中的指定获取时间点;
选取模块,用于对于所述至少一个应用中的每个应用,从所述应用的多个卡顿数据中选取所述指定获取时间点的卡顿数据,作为所述应用的匹配卡顿数据;
其中,所述指定获取时间点是指符合以下条件的获取时间点:在第一个获取时间点至所述指定获取时间点的时间范围内所述至少一个应用的统计开始时间点均未发生改变,且在所述指定获取时间点至所述指定获取时间点的下一个获取时间点的时间范围内所述至少一个应用中至少有一个应用的统计开始时间点发生改变。
在一种可能的设计中,所述比对模块,包括:
选取子模块,用于对于所述至少一个应用中的每个应用,从所述应用的多个卡顿数据中选取第一个卡顿数据和最后一个卡顿数据,所述多个卡顿数据已按照获取时间点从早到晚的顺序排列;
确定子模块,用于当所述第一个卡顿数据的统计开始时间点和所述最后一个卡顿数据的统计开始时间点不同时,确定所述应用的卡顿数据的统计开始时间点发生改变。
在一种可能的设计中,所述确定模块,包括:
比对子模块,用于对于所述至少一个应用中的每个应用,比对所述应用的第二个卡顿数据的统计开始时间点与所述应用的第一个卡顿数据的统计开始时间点;
确定子模块,用于当任一应用的第二个卡顿数据的统计开始时间点与所述应用的第一个卡顿数据的统计开始时间点不同时,将第一个获取时间点作为所述指定获取时间点;
所述比对子模块,还用于当所述至少一个应用的第二个卡顿数据的统计开始时间点与第一个卡顿数据的统计开始时间点均相同时,继续比对每个应用的第三个卡顿数据的统计开始时间点与第一个卡顿数据的统计开始时间点,直到确定出所述指定获取时间点为止。
在一种可能的设计中,所述装置还用于执行以下至少一项:
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的卡顿帧数,得到至少一个卡顿帧数;计算所述至少一个卡顿帧数的和值,作为所述至少一个应用的卡顿总帧数;
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的绘制帧数,得到至少一个绘制帧数;计算所述至少一个绘制帧数的和值,作为所述至少一个应用的卡顿总帧数;
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的直方图数据,得到至少一个直方图数据;基于所述至少一个直方图数据,获取所述至少一个应用的卡顿总时长。
在一种可能的设计中,所述获取模块,用于通过测试工具,对所述至少一个应用执行模拟操作;在模拟操作的过程中,在多个获取时间点获取所述至少一个应用的卡顿数据。
在一种可能的设计中,所述装置还包括:
提示模块,用于当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,按照预设提示方式,提示用户所述应用的卡顿数据已发生丢失。
在一种可能的设计中,所述获取模块,还用于:
当所述至少一个应用的卡顿数据的统计开始时间点均未发生改变时,对于所述至少一个应用中的任一应用,获取所述应用的多个卡顿数据中的最后一个卡顿数据,作为所述应用的匹配卡顿数据,所述多个卡顿数据按照获取时间点从早到晚的顺序排序。
根据本公开实施例的第五方面,提供了一种卡顿数据获取装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
在多个获取时间点获取至少一个应用的卡顿数据,得到所述至少一个应用中每个应用的多个卡顿数据,所述多个卡顿数据中的任一卡顿数据用于反映对应应用从本次开机以来第一次启动的时间点到所述卡顿数据的获取时间点之间的卡顿情况;
比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点;
当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,将所述应用作为指定应用,得到至少一个指定应用;
对于所述至少一个指定应用中的每个指定应用,从所述指定应用的多个卡顿数据中选取多个待累加卡顿数据;
对所述多个待累加数据进行累加运算,得到所述指定应用的匹配卡顿数据。
根据本公开实施例的第六方面,提供了一种卡顿数据获取装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
在多个获取时间点获取至少一个应用的卡顿数据,得到所述至少一个应用中每个应用的多个卡顿数据,所述多个卡顿数据中的任一卡顿数据用于反映对应应用从本次开机以来第一次启动的时间点到所述卡顿数据的获取时间点之间的卡顿情况;
比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点;
当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,确定所述多个获取时间点中的指定获取时间点;
对于所述至少一个应用中的每个应用,从所述应用的多个卡顿数据中选取所述指定获取时间点的卡顿数据,作为所述应用的匹配卡顿数据;
其中,所述指定获取时间点是指符合以下条件的获取时间点:在第一个获取时间点至所述指定获取时间点的时间范围内所述至少一个应用的统计开始时间点均未发生改变,且在所述指定获取时间点至所述指定获取时间点的下一个获取时间点的时间范围内所述至少一个应用中至少有一个应用的统计开始时间点发生改变。
根据本公开实施例的第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面所述的方法步骤。
根据本公开实施例的第八方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第二方面所述的方法步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种卡顿数据获取方法的流程图;
图2是根据一示例性实施例示出的一种卡顿数据获取方法的流程图;
图3A是根据一示例性实施例示出的一种卡顿数据获取方法的流程图;
图3B是根据一示例性实施例示出的一种卡顿数据获取方法的操作流程图;
图4A是根据一示例性实施例示出的一种卡顿数据获取方法的流程图;
图4B是根据一示例性实施例示出的一种卡顿数据获取方法的操作流程图;
图5是根据一示例性实施例示出的一种卡顿数据获取装置的框图;
图6是根据一示例性实施例示出的一种卡顿数据获取装置的框图;
图7是根据一示例性实施例示出的一种卡顿数据获取装置700的框图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本公开做进一步详细说明。在此,本公开的示意性实施方式及其说明用于解释本公开,但并不作为对本公开的限定。
图1是根据一示例性实施例示出的一种卡顿数据获取方法的流程图,如图1所示,包括以下步骤:
在步骤101中,在多个获取时间点获取至少一个应用的卡顿数据,得到该至少一个应用中每个应用的多个卡顿数据,该多个卡顿数据中的任一卡顿数据用于反映对应应用从本次开机以来第一次启动的时间点到该卡顿数据的获取时间点之间的卡顿情况。
在步骤102中,比对该至少一个应用中每个应用的多个卡顿数据的统计开始时间点。
在步骤103中,当该至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,将该应用作为指定应用,得到至少一个指定应用。
在步骤104中,对于该至少一个指定应用中的每个指定应用,从该指定应用的多个卡顿数据中选取多个待累加卡顿数据;
在步骤105中,对该多个待累加数据进行累加运算,得到该指定应用的匹配卡顿数据。
本实施例提供的方法,通过比对每个应用的多个卡顿数据的统计开始时间点,可以获知应用的卡顿数据是否已经丢失,当任一应用的卡顿数据已经丢失时,将该应用确定为指定应用,为该指定应用的多个待累加卡顿数据进行累加运算,得到的匹配卡顿数据综合了多次获取的卡顿数据的结果,能够准确而真实地反映终端从开机以来第一次运行该应用到最后一个获取时间点的时间范围内的运行应用过程的卡顿情况,更加准确可靠,避免由于卡顿数据丢失造成测试结果不准确的问题。
在一种可能的设计中,该比对该至少一个应用中每个应用的多个卡顿数据的统计开始时间点,包括:
对于该至少一个应用中的每个应用,从该应用的多个卡顿数据中选取第一个卡顿数据和最后一个卡顿数据,该多个卡顿数据已按照获取时间点从早到晚的顺序排列;
当该第一个卡顿数据的统计开始时间点和该最后一个卡顿数据的统计开始时间点不同时,确定该应用的卡顿数据的统计开始时间点发生改变。
在一种可能的设计中,该对于该至少一个指定应用中的每个指定应用,从该指定应用的多个卡顿数据中选取多个待累加卡顿数据,包括:
从该指定应用的多个卡顿数据中选取统计开始时间点与下一个卡顿数据的统计开始时间点不同的至少一个卡顿数据,作为至少一个该待累加数据,该多个卡顿数据按照获取时间点从早到晚的顺序排序;
从该多个卡顿数据中选取最后一个卡顿数据,作为该待累加卡顿数据。
在一种可能的设计中,该从该指定应用的多个卡顿数据中选取统计开始时间点与下一个卡顿数据的统计开始时间点不同的至少一个卡顿数据,作为至少一个该待累加数据,包括:
对于该指定应用的多个卡顿数据中除了第一个卡顿数据以外的任一个卡顿数据,比对该卡顿数据的统计开始时间点和该卡顿数据的上一个卡顿数据的统计开始时间点;
当两个统计开始时间点不同时,将该上一个卡顿数据作为该待累加卡顿数据。
在一种可能的设计中,该从该指定应用的多个卡顿数据中选取统计开始时间点与下一个卡顿数据的统计开始时间点不同的至少一个卡顿数据,作为至少一个该待累加数据,包括:
对于该指定应用的多个卡顿数据中除了第一个卡顿数据以外的任一个卡顿数据,比对该卡顿数据的统计开始时间点和该多个卡顿数据中最后一个卡顿数据的统计开始时间点;
当两个统计开始时间点不同时,执行该比对该卡顿数据的统计开始时间点和该卡顿数据的上一个卡顿数据的统计开始时间点的步骤;
当两个统计开始时间点相同时,将该卡顿数据的上一个卡顿数据作为该待累加卡顿数据,并取消执行针对该卡顿数据的下一个卡顿数据到最后一个卡顿数据的比对步骤。
在一种可能的设计中,该匹配卡顿数据包括匹配卡顿帧数、匹配绘制帧数和匹配直方图数据中的至少一项。
在一种可能的设计中,该对该多个待累加卡顿数据进行累加运算,得到该指定应用的匹配卡顿数据,包括:
获取该多个待累加卡顿数据的卡顿帧数,得到多个卡顿帧数;
计算该多个卡顿帧数的和值,作为该指定应用的匹配卡顿帧数。
在一种可能的设计中,该对该多个待累加卡顿数据进行累加运算,得到该指定应用的匹配卡顿数据,包括:
获取该多个待累加卡顿数据的绘制帧数,得到多个绘制帧数;
计算该多个绘制帧数的和值,作为匹配绘制帧数。
在一种可能的设计中,该对该多个待累加卡顿数据进行累加运算,得到该指定应用的匹配卡顿数据,包括:
获取该多个待累加卡顿数据的直方图数据,得到多个直方图数据,该多个直方图数据中的每个直方图数据包括至少一个绘制时长和对应的至少一个帧数;
对于该至少一个绘制时长中的每个绘制时长,计算该多个直方图数据中该绘制时长对应的多个帧数的和值,作为该绘制时长的匹配帧数;
基于每个绘制时长的匹配帧数,获取匹配直方图数据,该匹配直方图数据包括至少一个绘制时长和对应的至少一个匹配帧数。
在一种可能的设计中,该当该至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,将该应用作为指定应用之后,该方法还包括:
对于该至少一个应用中除了该至少一个指定应用以外的任一应用,获取该应用的多个卡顿数据中的最后一个卡顿数据,作为该应用的匹配卡顿数据,该多个卡顿数据按照获取时间点从早到晚的顺序排序。
在一种可能的设计中,该对该多个待累加数据进行累加运算,得到该指定应用的匹配卡顿数据之后,该方法还包括以下至少一项:
对于该至少一个应用中的每个应用,获取该应用的匹配卡顿数据中的匹配卡顿帧数,得到至少一个匹配卡顿帧数;计算该至少一个匹配卡顿帧数的和值,作为该至少一个应用的卡顿总帧数;
对于该至少一个应用中的每个应用,获取该应用的匹配卡顿数据中的匹配绘制帧数,得到至少一个匹配绘制帧数;计算该至少一个匹配绘制帧数的和值,作为该至少一个应用的匹配总帧数;
对于该至少一个应用中的每个应用,获取该应用的匹配卡顿数据中的匹配直方图数据,得到至少一个匹配直方图数据;基于该至少一个匹配直方图数据,获取该至少一个应用的卡顿总时长。
在一种可能的设计中,该在多个获取时间点获取至少一个应用的卡顿数据,包括:
通过测试工具,对该至少一个应用执行模拟操作;
在模拟操作的过程中,在多个获取时间点获取该至少一个应用的卡顿数据。
在一种可能的设计中,该比对该至少一个应用中每个应用的多个卡顿数据的统计开始时间点之后,该方法还包括:
当该至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,按照预设提示方式,提示用户该应用的卡顿数据已发生丢失。
在一种可能的设计中,该比对该至少一个应用中每个应用的多个卡顿数据的统计开始时间点之后,该方法还包括:
当该至少一个应用的卡顿数据的统计开始时间点均未发生改变时,对于该至少一个应用中的任一应用,获取该应用的多个卡顿数据中的最后一个卡顿数据,作为该应用的匹配卡顿数据,该多个卡顿数据按照获取时间点从早到晚的顺序排序。
图2是根据一示例性实施例示出的一种卡顿数据获取方法的流程图,如图2所示,包括以下步骤:
在步骤201中,在多个获取时间点获取至少一个应用的卡顿数据,得到该至少一个应用中每个应用的多个卡顿数据,该多个卡顿数据中的任一卡顿数据用于反映对应应用从本次开机以来第一次启动的时间点到该卡顿数据的获取时间点之间的卡顿情况。
在步骤202中,比对该至少一个应用中每个应用的多个卡顿数据的统计开始时间点。
在步骤203中,当该至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,确定该多个获取时间点中的指定获取时间点。
在步骤204中,对于该至少一个应用中的每个应用,从该应用的多个卡顿数据中选取该指定获取时间点的卡顿数据,作为该应用的匹配卡顿数据。
其中,该指定获取时间点是指符合以下条件的获取时间点:在第一个获取时间点至该指定获取时间点的时间范围内该至少一个应用的统计开始时间点均未发生改变,且在该指定获取时间点至该指定获取时间点的下一个获取时间点的时间范围内该至少一个应用中至少有一个应用的统计开始时间点发生改变。
本实施例提供的方法,通过比对每个应用的多个卡顿数据的统计开始时间点,可以获知应用的卡顿数据是否已经丢失,当任一应用的卡顿数据已经丢失时,确定出至少一个应用的卡顿数据均尚未发生丢失的最后一个获取时间点,将每个应用在该获取时间点的卡顿数据作为匹配卡顿数据。由于应用的匹配卡顿数据中尚未丢失数据,能够准确而真实地反映终端从开机以来第一次运行该应用到最后一个获取时间点的时间范围内的运行应用过程的卡顿情况,更加准确可靠,避免由于卡顿数据丢失造成测试结果不准确的问题。
在一种可能的设计中,该比对该至少一个应用中每个应用的多个卡顿数据的统计开始时间点,包括:
对于该至少一个应用中的每个应用,从该应用的多个卡顿数据中选取第一个卡顿数据和最后一个卡顿数据,该多个卡顿数据已按照获取时间点从早到晚的顺序排列;
当该第一个卡顿数据的统计开始时间点和该最后一个卡顿数据的统计开始时间点不同时,确定该应用的卡顿数据的统计开始时间点发生改变。
在一种可能的设计中,该当该至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,确定该多个获取时间点中的指定获取时间点,包括:
对于该至少一个应用中的每个应用,比对该应用的第二个卡顿数据的统计开始时间点与该应用的第一个卡顿数据的统计开始时间点;
当任一应用的第二个卡顿数据的统计开始时间点与该应用的第一个卡顿数据的统计开始时间点不同时,将第一个获取时间点作为该指定获取时间点;
当该至少一个应用的第二个卡顿数据的统计开始时间点与第一个卡顿数据的统计开始时间点均相同时,继续比对每个应用的第三个卡顿数据的统计开始时间点与第一个卡顿数据的统计开始时间点,直到确定出该指定获取时间点为止。
在一种可能的设计中,该对于该至少一个应用中的每个应用,从该应用的多个卡顿数据中选取该指定获取时间点的卡顿数据,作为该应用的匹配卡顿数据之后,该方法还包括以下至少一项:
对于该至少一个应用中的每个应用,获取该应用的匹配卡顿数据中的卡顿帧数,得到至少一个卡顿帧数;计算该至少一个卡顿帧数的和值,作为该至少一个应用的卡顿总帧数;
对于该至少一个应用中的每个应用,获取该应用的匹配卡顿数据中的绘制帧数,得到至少一个绘制帧数;计算该至少一个绘制帧数的和值,作为该至少一个应用的卡顿总帧数;
对于该至少一个应用中的每个应用,获取该应用的匹配卡顿数据中的直方图数据,得到至少一个直方图数据;基于该至少一个直方图数据,获取该至少一个应用的卡顿总时长。
在一种可能的设计中,该在多个获取时间点获取至少一个应用的卡顿数据,包括:
通过测试工具,对该至少一个应用执行模拟操作;
在模拟操作的过程中,在多个获取时间点获取该至少一个应用的卡顿数据。
在一种可能的设计中,该比对该至少一个应用中每个应用的多个卡顿数据的统计开始时间点之后,该方法还包括:
当该至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,按照预设提示方式,提示用户该应用的卡顿数据已发生丢失。
在一种可能的设计中,该比对该至少一个应用中每个应用的多个卡顿数据的统计开始时间点之后,该方法还包括:
当该至少一个应用的卡顿数据的统计开始时间点均未发生改变时,对于该至少一个应用中的任一应用,获取该应用的多个卡顿数据中的最后一个卡顿数据,作为该应用的匹配卡顿数据,该多个卡顿数据按照获取时间点从早到晚的顺序排序。
graphicsstats服务提供的dump方法所输出的应用的卡顿数据很可能是已经丢失了数据的卡顿数据,即,并不是应用从开机以来第一次启动的时间点到当前时间点期间累计的卡顿数据,而是从丢失数据的时间点到当前时间点期间累计的卡顿数据,准确性差,无法真实地反映终端从第一次启动应用到当前时间点之间运行应用的卡顿情况。
其根源在于,实际应用中graphicsstats服务的HistoricalLog变量最多只能存储20个应用的卡顿数据,当运行过的应用数量超过20个时,应用的卡顿数据就会丢失,终端得不到应用的卡顿数据时,就只能重新生成应用的卡顿数据,从0开始重新累计,此后获取卡顿数据时,得到的即为重新累计的卡顿数据,而丢失了从第一次启动到丢失数据的时间点期间累计的卡顿数据。即,每当卡顿数据再次丢失时,则终端都会从0开始重新累计,导致最终的卡顿数据远远小于真实的卡顿数据。
进一步地,基于这种已经丢失数据的卡顿数据衡量终端的卡顿情况时,所确定的终端的卡顿情况会远轻于终端真实的卡顿情况,影响衡量终端卡顿情况的准确性。例如,在测试性能较好的终端A和性能较差的终端B的卡顿情况的过程中,两个终端均从早上八点开始启动,在晚上十点时,获取了两个终端的卡顿数据。其中,终端A在早上八点到晚上十点并未损失卡顿数据,则输出的卡顿数据为早上八点到晚上十点累计的卡顿数据。而终端B在晚上九点时丢失了卡顿数据,则输出的卡顿数据为晚上九点到晚上十点累计的卡顿数据,导致得出终端B的卡顿情况轻于终端A的卡顿情况的错误结论。
而本公开认识到graphicsstats服务提供的dump方法所输出的卡顿数据可能已经发生了数据丢失,会在多个获取时间点获取至少一个应用的卡顿数据,通过比对每个应用的卡顿数据的统计开始时间点是否发生改变,判断任一应用的卡顿数据是否已经发生过丢失,在当任一应用的卡顿数据的统计开始时间点发生改变时,基于已经获取的多个卡顿数据,确定出匹配卡顿数据。
对于卡顿数据的统计开始时间点已经发生改变的应用,本公开提供了两种获取应用的匹配卡顿数据的方案,一种方案会对应用的多个卡顿数据进行累加,来得到匹配卡顿数据,详见图3A实施例;另一种方案会直接从应用的多个卡顿数据中选取尚未发生损失的卡顿数据,作为匹配卡顿数据,详见图4A实施例。
图3A是根据一示例性实施例示出的一种卡顿数据获取方法的流程图,如图3A所示,该方法用于终端中,包括以下步骤:
在步骤301中,终端在多个获取时间点获取至少一个应用的卡顿数据,得到至少一个应用中每个应用的多个卡顿数据。
本实施例中,终端运行至少一个应用,在不同时间点先后获取至少一个应用的卡顿数据,则针对每个应用都会得到多个卡顿数据。该终端可以为手机、平板电脑等,该至少一个应用为终端本次开机以来运行过的应用,即,该至少一个应用包括终端当前运行的应用、终端本次开机以来曾经运行而当前已经关闭的应用。该至少一个应用可以为社交应用、微博应用、视频应用、支付应用、购物应用等。
关于每个应用的卡顿数据的具体内容,任一应用的任一个卡顿数据可以包括时间戳(Stats since)、应用包名(Package)、绘制帧数(Total frames)、卡顿帧数(Totalframes)、直方图数据(HISTOGRAM)等。该时间戳用于记录对应卡顿数据的统计开始时间点、应用包名用于标识对应的应用。
在多个获取时间点获取卡顿数据的具体过程详见以下两种可能的设计。
在第一种可能的设计中,终端可以周期式地获取卡顿数据:终端可以获取预设周期,每隔预设周期,获取一次至少一个应用的卡顿数据。该预设周期可以为测试人员设置的默认值,例如为半小时。另外,该预设周期可以根据对匹配卡顿数据的精确度的要求确定,例如,当要求最终得到的匹配卡顿数据的精确度较高时,则确定较短的预设周期,通过调节预设周期,可以达到匹配卡顿数据的精确度满足实际需求的效果。
在第二种可能的设计中,终端可以定时式地获取卡顿数据:终端可以获取多个预设时间点,在当前时间点达到该多个预设时间点中的任一预设时间点时,获取一次至少一个应用的卡顿数据。该多个预设时间点可以为测试人员设置的默认值。
需要说明的第一点是,针对获取卡顿数据的实际场景,终端可以通过测试工具,对至少一个应用执行模拟操作,在模拟操作的过程中,在多个获取时间点获取至少一个应用的卡顿数据。其中,实现模拟操作的具体过程可以为:测试人员基于希望的终端对每个应用执行的模拟操作,预先编写脚本文件,将脚本文件导入至终端,终端通过测试工具运行脚本文件,从而执行模拟操作。该测试工具可以为UiAutomator、Monkeyrunner、Rubotium,或者为其他任一种安卓(android)操作系统支持的自动化测试工具。
通过在模拟操作的过程中多次获取卡顿数据,可以达到以下效果:模拟操作的过程贴近用户真实的使用场景,例如,对微博应用进行模拟操作的过程中,可以模拟为用户刷微博的场景,对视频应用进行模拟操作的过程中,可以模拟为用户看视频的场景。那么,模拟操作产生的卡顿数据会贴近于用户日常生活中实际操作产生的卡顿数据。
需要说明的第二点是,每当要在某个获取时间点获取至少一个应用的卡顿数据时,终端可以通过调用graphicsstats服务的dump方法,得到输出的至少一个卡顿数据。
在步骤302中,终端比对至少一个应用中每个应用的多个卡顿数据的统计开始时间点。
本公开认识到,若任一应用的卡顿数据的统计开始时间点发生改变,表明该应用的卡顿数据已发生丢失,当前获取的该应用的卡顿数据已经不是该应用真实的卡顿数据,则会基于后续步骤获取匹配卡顿数据。为了获知在多个获取时间点获取卡顿数据的期间内,任一应用的卡顿数据是否已经丢失,会比对每个应用的多个卡顿数据的统计开始时间点。
比对应用的多个卡顿数据的统计开始时间点的具体过程可以包括以下两种可能的设计。
在第一种可能的设计中,对于至少一个应用中的任一应用,获取该应用的多个卡顿数据的统计开始时间点,得到多个统计开始时间点,对多个统计开始时间点进行比对,当多个统计开始时间点不同时,确定该应用的统计开始时间点已经发生改变。
在第二种可能的设计中,对于至少一个应用中的每个应用,从应用的多个卡顿数据中选取第一个卡顿数据和最后一个卡顿数据,当第一个卡顿数据的统计开始时间点和最后一个卡顿数据的统计开始时间点不同时,确定应用的卡顿数据的统计开始时间点发生改变。其中,多个卡顿数据已按照获取时间点从早到晚的顺序排列。
对于至少一个应用中的每个应用,会选取该应用在第一个获取时间点获取的卡顿数据,以及该应用在最后一个获取时间点获取的卡顿数据,再获取这两个卡顿数据的统计开始时间点,对这两个统计开始时间点进行比对,以便验证该应用的卡顿数据的统计开始时间点是否发生改变,即,当这两个卡顿数据的统计开始时间点相同时,确定应用的卡顿数据的统计开始时间点未发生改变,当当这两个卡顿数据的统计开始时间点相同时,确定应用的卡顿数据的统计开始时间点未发生改变。
例如,假设在早上8:00到晚上18:00,每隔半小时获取一次N个应用的卡顿数据,得到8:30的N个卡顿数据、9:00的N个卡顿数据、9:30的N个卡顿数据……18:00的N个卡顿数据。则对于N个应用中的每个应用,会获取该应用的8:30的卡顿数据与18:00的卡顿数据,比对这两个卡顿数据的统计开始时间点,若不同,则确定卡顿数据的统计开始时间点发生改变。
通过以上第二种可能的设计,在保证能够准确检测出任一应用的卡顿数据的统计开始时间点是否发生改变的基础上(详见以下第一方面的解释),还能够达到减少计算量的效果(详见以下第二方面的解释)。
第一方面,假设任一应用在多次获取卡顿数据的期间内统计开始时间点始终未发生改变,则该应用的多个卡顿数据的统计开始时间点均相同,均为第一个卡顿数据的统计开始时间点,因此该应用的最后一个卡顿数据的统计开始时间点和该应用的第一个卡顿数据的统计开始时间点相同时,可以确定该应用的卡顿数据的统计开始时间点未发生改变,而当该应用的最后一个卡顿数据的统计开始时间点和该应用的第一个卡顿数据的统计开始时间点不同时,可以确定该应用的卡顿数据的统计开始时间点在第一个获取时间点和最后一个获取时间点的时间段内已经发生改变。
第二方面,多次获取的卡顿数据可能数量较多,假设共计获取了N个卡顿数据,若任一应用均要针对N个统计开始时间点进行比对,运算量较大。而通过以上第二种可能的设计,任一应用仅需要针对2个统计开始时间点进行比对即可,减少了运算量,提高了运算速度和比对效率。
需要说明的第一点是,由于卡顿数据中包括记录统计开始时间点的时间戳,本步骤中比对卡顿数据的统计开始时间点的过程,实际可以为获取卡顿数据的时间戳,比对时间戳的过程。
需要说明的第二点是,每当比对某个应用的多个卡顿数据的统计开始时间点,确定多个统计开始时间点不均相同时,可以记录该应用的标识,例如,可以记录该应用的应用包名,以便后续针对该应用进行卡顿数据累加。
通过执行上述步骤302,终端可以确定任一应用在多个卡顿数据中的卡顿数据的统计开始时间点是否发生改变。当任一应用的卡顿数据的统计开始时间点发生改变时,终端会为统计开始时间点已发生改变的应用执行以下步骤303-步骤305,为统计开始时间点未发生改变的应用执行以下步骤306。而当至少一个应用的卡顿数据的统计开始时间点均未发生改变时,终端会执行以下步骤307。
在步骤303中,当该至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,终端将该应用作为指定应用,得到至少一个指定应用。
本实施例中,对卡顿数据的统计开始时间点发生改变的应用的匹配卡顿数据的获取方式与对卡顿数据的统计开始时间点未发生改变的应用的匹配卡顿数据的获取方式不同。为了区分描述这两类应用,将卡顿数据的统计开始时间点发生改变的应用称为指定应用,指定应用的卡顿数据已经损失,则会以卡顿数据累加的方式为指定应用确定匹配卡顿数据。
上述步骤302中终端会记录卡顿数据的统计开始时间点不均相同的应用,则本步骤303中,可以获取已经记录的应用,作为指定应用,进而得到至少一个指定应用。
在步骤304中,对于该至少一个指定应用中的每个指定应用,终端从该指定应用的多个卡顿数据中选取多个待累加卡顿数据。
待累加卡顿数据为指定应用的多个卡顿数据中统计开始时间点每次发生改变前的最后一个卡顿数据以及多个卡顿数据中最晚获取的卡顿数据。获取待累加卡顿数据的过程具体包括以下步骤A1至步骤A2。
步骤A1、从该指定应用的多个卡顿数据中选取统计开始时间点与下一个卡顿数据的统计开始时间点不同的至少一个卡顿数据,作为至少一个待累加数据。
由于多个卡顿数据的统计开始时间点已发生变化,则多个卡顿数据会有多个统计开始时间点。本实施例中,对于多个统计开始时间点中的任一统计开始时间点,会从多个卡顿数据中选取该统计开始时间点发生变化之前的最后一个卡顿数据,作为待累加卡顿数据。由于该待累加卡顿数据是以该统计开始时间点开始统计的至少一个卡顿数据的累计结果,数据量较大,能够满足分析该统计开始时间点以来的该应用的卡顿情况的需求。其中,终端可以对指定应用的多个卡顿数据按照获取时间点从早到晚的顺序排序,以便基于多个卡顿数据的排列顺序选取待累加卡顿数据。
选取待累加卡顿数据的方式具体可以包括以下两种可能的设计。
在第一种可能的设计中,终端可以采用依次比对的方式验证每个卡顿数据是否为待累加卡顿数据。对于该指定应用的多个卡顿数据中除了第一个卡顿数据以外的任一个卡顿数据,比对该卡顿数据的统计开始时间点和该卡顿数据的上一个卡顿数据的统计开始时间点,当两个统计开始时间点不同时,将该上一个卡顿数据作为该待累加卡顿数据。
示例性地,假设某应用共获取了10次卡顿数据,获取时间点分别为t1-t2-t3-t4-t5-t6-t7-t8-t9-t10,统计开始时间点分别为A-A-B-B-B-B-B-C-C-C,则确定t2获取的卡顿数据、t7获取的卡顿数据为待累加卡顿数据,由于t2获取的卡顿数据为t1获取的卡顿数据和(t1,t2)期间产生的卡顿数据的累积结果,t7获取的卡顿数据为t3获取的卡顿数据和(t3,t7)期间产生的卡顿数据的累积结果,数据量较大,满足实际需求。
可选地,由于卡顿数据的统计开始时间点由时间戳指示,本设计实际可以为:对于指定应用的至少一个卡顿数据中除了第一个卡顿数据以外的任一个卡顿数据,比对该卡顿数据中的时间戳和卡顿数据的上一个卡顿数据中的时间戳,当两个时间戳不同时,将上一个卡顿数据作为待累加卡顿数据。
在第二种可能的设计中,对于该指定应用的多个卡顿数据中除了第一个卡顿数据以外的任一个卡顿数据,终端可以先比对该卡顿数据的统计开始时间点和该多个卡顿数据中最后一个卡顿数据的统计开始时间点,根据比对结果决策后续是否继续为该卡顿数据的下一个卡顿数据进行比对。
假设任一个卡顿数据为N个卡顿数据中的第M个卡顿数据,当第M个卡顿数据的统计开始时间点和第N个卡顿数据的统计开始时间点不同时,表明第M个获取时间点至第N个获取时间点的时间范围内,卡顿数据曾经丢失。则终端会比对第M个卡顿数据的统计开始时间点和第(M-1)个卡顿数据的统计开始时间点,来验证第(M-1)个卡顿数据是否为待累加卡顿数据,当得到比对结果后,继续比对(M+1)个卡顿数据和第N个卡顿数据的统计开始时间点,并根据比对结果决策是否继续为(M+2)卡顿数据进行比对,以此类推。
当当第M个卡顿数据的统计开始时间点和第N个卡顿数据的统计开始时间点相同时,表明第M个获取时间点至第N个获取时间点的时间范围内,卡顿数据均未发生丢失,则可以将第(M-1)个卡顿数据作为该待累加卡顿数据,并取消执行针对第(M+1)个卡顿数据到第N个卡顿数据的比对步骤,即,从第(M+1)个卡顿数据开始,终端均无需再验证卡顿数据的上一个卡顿数据是否为待累加卡顿数据。
通过以上第二种可能的设计,当确定某个卡顿数据的统计时间点与最后一个卡顿数据的统计时间点已经相同时,则从该卡顿数据的下一个卡顿数据开始无需依次与前一个卡顿数据进行比对,在保证能够找到所有匹配卡顿数据的基础上,减少了计算量,提高了比对效率。
步骤A2、从多个卡顿数据中选取最后一个卡顿数据,作为待累加卡顿数据。
对于多个统计时间点对应的卡顿数据来说,由于最后一个卡顿数据是最后一个统计开始时间点到最后一个获取时间点以来的卡顿数据的累计结果,则会将最后一个卡顿数据作为待累加卡顿数据。
在步骤305中,终端对该多个待累加数据进行累加运算,得到该指定应用的匹配卡顿数据。
当得到指定应用的多个待累加卡顿数据以后,会将这些待累加卡顿数据进行累加运算,从而合并为一个卡顿数据,该卡顿数据综合了多个待累加卡顿数据的数据,可以称为指定应用的匹配卡顿数据。
匹配卡顿数据包括匹配卡顿帧数、匹配绘制帧数和匹配直方图数据中的至少一项。确定匹配卡顿帧数的过程详见以下步骤B1,确定匹配帧数的过程详见以下步骤B2,确定匹配直方图数据的过程详见以下步骤B3。
步骤B1、获取多个待累加卡顿数据的卡顿帧数,得到多个卡顿帧数,计算多个卡顿帧数的和值,作为指定应用的匹配卡顿帧数。
对于多个待累加卡顿数据中的每个卡顿数据,可以获取该卡顿数据的卡顿帧数,例如可以读取卡顿数据中的“Janky frames”,作为卡顿帧数。当得到多个卡顿数据的卡顿帧数后,计算多个卡顿帧数的和值,将该和值作为匹配卡顿帧数。
示例性地,假设某应用的具有三个待累加卡顿数据,依次如下所示:
待累加卡顿数据1:Package:com.XXX.reader;
Stats since:121034968754ns
Janky frames:100;
待累加卡顿数据2:Package:com.XXX.reader;
Stats since:122234968754ns
Janky frames:80;
待累加卡顿数据3:Package:com.XXX.reader;
Stats since:132234968754ns
Janky frames:90;
则可以得到三个卡顿帧数,分别为100、80和90,得到匹配卡顿帧数=100+80+90=270。
步骤B2、获取多个待累加卡顿数据的绘制帧数,得到多个绘制帧数。
对于多个待累加绘制数据中的每个绘制数据,可以获取该绘制数据的绘制帧数,例如可以读取绘制数据中的“Total frames rendered”,得到绘制帧数。当得到多个绘制数据的绘制帧数后,计算多个绘制帧数的和值,将该和值作为匹配绘制帧数。
示例性地,假设某应用的具有三个待累加绘制数据,依次如下所示:
待累加绘制数据1:Package:com.XXX.reader;
Stats since:121034968754ns
Total frames rendered:8000;
待累加绘制数据2:Package:com.XXX.reader;
Stats since:122234968754ns
Total frames rendered:7500;
待累加绘制数据3:Package:com.XXX.reader;
Stats since:132234968754ns
Total frames rendered:9000;
则可以得到三个绘制帧数,分别为8000、7500和9000,得到匹配绘制帧数=8000+7500+9000=24500。
步骤B3、获取多个待累加卡顿数据的直方图数据,得到多个直方图数据,基于多个直方图数据获取匹配直方图数据。
卡顿数据中的直方图数据用于反映对应应用在运行过程所绘制的所有帧的绘制时长的分布情况,直方图数据包括至少一个绘制时长和对应的至少一个帧数,其中,直方图数据可以包括至少一个数值对,该至少一个数值对中的每个数值对包括绘制时长和帧数,假设某个数值对为:Tms=M,则表示该应用的所有帧中绘制时长为Tms的帧共计M个。其中,T为正整数,M为正整数或0。
获取匹配直方图数据的过程具体包括以下步骤B3.1和步骤B3.2。
步骤B3.1、在得到多个直方图数据后,对于直方图数据中的至少一个绘制时长中的每个绘制时长,计算多个直方图数据中绘制时长对应的至少一个帧数的和值,作为绘制时长的匹配帧数。
对于多个待累加卡顿数据中的每个卡顿数据,可以获取该卡顿数据的直方图数据,再计算多个直方图数据中相同绘制时长对应的帧数的和值,作为每个绘制时长的匹配帧数。例如,可以读取卡顿数据中的“HISTOGRAM”,得到直方图数据,假设直方图数据中某个绘制时长为Tms,多个直方图数据中分别包括Tms=M1,Tms=M2,Tms=M3,则计算M1+M2+M3,作为Tms的匹配帧数。
步骤B3.2、基于每个绘制时长的匹配帧数,获取匹配直方图数据。
当得到每个绘制时长的匹配帧数后,可以将绘制时长与匹配帧数之间的对应关系作为匹配直方图数据。匹配直方图数据包括至少一个绘制时长和对应的至少一个匹配帧数。
示例性地,假设某应用的具有两个待累加卡顿数据,依次如下所示:
待累加卡顿数据1:Package:com.XXX.reader;
Stats since:121034968754ns
HISTOGRAM:5ms=9 6ms=1 7ms=2 8ms=2 9ms=5 10ms=3 11ms=2 12ms=213ms=4 14ms=3 15ms=4 16ms=1 17ms=0 18ms=1 19ms=0 20ms=2。
待累加卡顿数据2:Package:com.XXX.reader;
Stats since:122234968754ns
HISTOGRAM:5ms=8 6ms=2 7ms=2 8ms=2 9ms=6 10ms=3 11ms=4 12ms=213ms=3 14ms=2 15ms=4 16ms=1 17ms=0 18ms=0 19ms=1 20ms=2。
则得到的匹配直方图数据为:
HISTOGRAM:5ms=17 6ms=3 7ms=4 8ms=4 9ms=11 10ms=6 11ms=612ms=413ms=7 14ms=5 15ms=8 16ms=2 17ms=0 18ms=1 19ms=1 20ms=4。
需要说明的第一点是,在本步骤305中,当任一应用的卡顿数据的统计开始时间点发生改变,表明该应用的卡顿数据已经发生丢失,而上述累加卡顿数据的方式是为了尽可能地减少已经丢失的数据。例如假设某应用共获取了10次卡顿数据,获取时间点分别为t1-t2-t3-t4-t5-t6-t7-t8-t9-t10,统计开始时间点分别为A-A-A-A-A-A-B-B-B-B,获取时间点t7对应的卡顿数据的统计开始时间点开始发生改变,则表明应用的卡顿数据已经在(t6,t7)的时间段发生丢失。假设丢失卡顿数据的时间点为TS,则T7>TS>T6,将t6的卡顿数据和t10的卡顿数据累加得到的匹配数据,仍会丢失(T6,TS)之间的卡顿数据,但丢失的卡顿数据的时长小于两次获取卡顿数据之间的时间间隔,数据量较小,相对于一次统计过程中会获取到的大量卡顿数据来说,已经丢失的卡顿数据可以忽略不计,不影响最终基于卡顿数据衡量卡顿情况的准确性。
需要说明的第二点是,为了保证用户获知卡顿数据已经丢失,当至少一个应用中任一应用的卡顿数据的统计开始时间点发生改变时,可以按照预设提示方式,提示用户该应用的卡顿数据发生丢失。例如,可以显示预设提示页面,该预设提示页面包括提示卡顿数据已经发生丢失的文字信息,例如“XX聊天的卡顿数据已在18:00后发生损失”,以便用户获知卡顿数据的丢失情况,帮助用户决策是否要重新进行测试,以便再次获取卡顿信息。
在步骤306中,对于该至少一个应用中除了该至少一个指定应用以外的任一应用,终端获取该应用的多个卡顿数据中的最后一个卡顿数据,作为该应用的匹配卡顿数据。
对于至少一个应用中除了指定应用以外的任一应用,由于该应用的卡顿数据的统计开始时间点未发生变化,表明该应用的卡顿数据未发生丢失,由于该应用的最后一次获取的卡顿数据能够反映该应用从第一次启动到最后一个获取时间点内所有卡顿数据的累计,可以直接将该应用的多个卡顿数据的最后一个卡顿数据作为应用的匹配卡顿数据。
在步骤307中,当该至少一个应用的卡顿数据的统计开始时间点均未发生改变时,对于该至少一个应用中的任一应用,终端获取该应用的多个卡顿数据中的最后一个卡顿数据,作为该应用的匹配卡顿数据。
由于任一个应用的卡顿数据的统计开始时间点未发生改变即代表该应用的卡顿数据未发生丢失,该应用的卡顿数据是可靠的,则至少一个应用的卡顿数据的统计开始时间点均未发生改变,即代表多次获取的卡顿数据都是可靠的。由于最后一次获取的卡顿数据是之前获取的所有卡顿数据的累计,数据量较大,便于分析,则可以将多个卡顿数据中的最后一个卡顿数据作为匹配卡顿数据。
在步骤308中,终端对至少一个应用的匹配卡顿数据进行汇总统计。
本步骤具体包括以下步骤C1-步骤C3的任意组合。
步骤C1、对于该至少一个应用中的每个应用,获取该应用的匹配卡顿数据中的匹配卡顿帧数,得到至少一个匹配卡顿帧数,计算该至少一个匹配卡顿帧数的和值,作为该至少一个应用的卡顿总帧数。
例如,假设匹配卡顿数据中应用A的匹配卡顿帧数为100,应用B的匹配卡顿帧数为130,应用C的匹配卡顿帧数为300,则这三个应用的卡顿总帧数=100+130+300=430。
步骤C2、对于该至少一个应用中的每个应用,获取该应用的匹配卡顿数据中的匹配绘制帧数,得到至少一个匹配绘制帧数,计算该至少一个匹配绘制帧数的和值,作为该至少一个应用的匹配总帧数。
例如,假设匹配绘制信息中应用A的匹配绘制帧数为3000,应用B的匹配绘制帧数为3300,应用C的匹配绘制帧数为2400,则这三个应用的绘制总帧数=3000+3300+2400=7600。
步骤C3、对于该至少一个应用中的每个应用,获取该应用的匹配卡顿数据中的匹配直方图数据,得到至少一个匹配直方图数据,基于该至少一个匹配直方图数据,获取该至少一个应用的卡顿总时长。
对于匹配直方图数据中的至少一个绘制时长中的任一绘制时长,当绘制时长超过预设时长阈值时,可以认为该绘制时长为卡顿帧的绘制时长,计算该绘制时长和对应的帧数的乘积,当得到至少一个乘积后,可以计算这些乘积的和值,作为卡顿总时长。该预设时长阈值可以根据实际需求确定,可以由测试人员预先配置,例如为17ms、100ms等。
示例性地,某应用的直方图数据如下所示:
HISTOGRAM:5ms=9 6ms=1 7ms=2 8ms=2 9ms=5 10ms=3 11ms=2 12ms=213ms=4 14ms=3 15ms=4 16ms=1 17ms=0 18ms=1 19ms=0 30ms=2。
假设预设时长阈值为17ms,则该应用的卡顿总时长=17×0+18×1+19×0+30×2=58ms。
当得到卡顿总帧数、绘制总帧数和卡顿总时长以后,可以基于这些数据获取终端的卡顿指标,以便基于卡顿指标衡量终端的卡顿情况。例如,可以计算卡顿总帧数和绘制总帧数的比值,得到掉帧率,作为终端的卡顿指标。
本公开提供的卡顿数据获取方法可以包括以下步骤:
步骤1、通过测试工具(例如UiAutomator)模拟用户使用场景(如刷微博,看视频等)。
步骤2、每隔一段时间(如半个小时)运行一次dumpsys graphicsstats,获取至少一个应用的卡顿数据(例如共计10次获取卡顿数据)。
步骤3、比对多个卡顿数据,找出统计开始时间点每次发生改变之前的最后一个卡顿数据,将这些卡顿数据和最后一个卡顿数据进行累加计算,得到匹配卡顿数据。
本实施例提供的方法,通过比对每个应用的多个卡顿数据的统计开始时间点,可以获知应用的卡顿数据是否已经丢失,当任一应用的卡顿数据已经丢失时,将该应用确定为指定应用,为该指定应用的多个待累加卡顿数据进行累加运算,得到的匹配卡顿数据综合了多次获取的卡顿数据的结果,能够准确而真实地反映终端从开机以来第一次运行该应用到最后一个获取时间点的时间范围内的运行应用过程的卡顿情况,更加准确可靠,避免由于卡顿数据丢失造成测试结果不准确的问题。
进一步地,对于至少一个应用中的每个应用,可以无需比对该应用的所有卡顿数据的统计开始时间点,只需比对该应用的第一个卡顿数据和最后一个卡顿数据的统计开始时间点,即可判断该应用的卡顿数据的统计开始时间点是否发生改变,提高了比对效率,减少了计算量。
进一步地,当确定某个卡顿数据的统计时间点与最后一个卡顿数据的统计时间点已经相同时,则从该卡顿数据开始无需依次与前一个卡顿数据进行比对,在保证能够找到所有匹配卡顿数据的基础上,减少了计算量,提高了比对效率。
进一步地,提供了累加多个卡顿数据的具体方式,不同卡顿数据的卡顿帧数、绘制时长和直方图数据均可以进行累加,以便得到匹配卡顿数据,步骤简单,实用性强。
进一步地,当任一应用的多个卡顿数据的统计开始时间点不均相同时,可以按照预设提示方式,提示用户该应用的卡顿数据已发生丢失,便于用户及时获知卡顿数据的丢失情况,以便决策是否重新进行测试过程,更加人性化。
进一步地,可以在通过测试工具对至少一个应用执行模拟操作的过程中,获取卡顿数据,保证模拟操作产生的卡顿数据贴近于用户日常生活中实际操作产生的卡顿数据。
图4A是根据一示例性实施例示出的一种卡顿数据获取方法的流程图,如图4A所示,该方法的执行主体为终端,包括以下步骤:
在步骤401中,终端在多个获取时间点获取至少一个应用的卡顿数据,得到至少一个应用中每个指定应用的多个卡顿数据。
本步骤与上述步骤301类似,在此不做赘述。
在步骤402中,终端比对该至少一个应用中每个应用的多个卡顿数据的统计开始时间点。
本步骤与上述步骤402类似,相区别的是,本步骤中可以仅要求获知至少一个应用中是否存在卡顿数据的统计开始时间点是否改变即可,当确定任一应用的卡顿数据的统计开始时间点发生改变时,无需记录该应用的标识,也无需继续对其他应用的卡顿数据的统计开始时间点进行比对,直接执行后续步骤403。
通过执行上述步骤402,终端可以确定至少一个应用中是否存在多个卡顿数据中的卡顿数据的统计开始时间点是否发生改变。当任一应用的卡顿数据的统计开始时间点发生改变时,终端会为至少一个应用均执行同样的步骤,详见以下步骤403-步骤404。而当至少一个应用的卡顿数据的统计开始时间点均未发生改变时,终端会执行以下步骤405。
在步骤403中,当该至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,终端确定该多个获取时间点中的指定获取时间点。
本实施例中,当确定任一个应用的卡顿数据的统计开始时间点已发生改变时,会找出至少一个应用的统计开始时间点均未发生改变之前的最后一个获取时间点。为了便于描述,将这种获取时间点称为指定获取时间点,该指定获取时间点符合以下条件:在第一个获取时间点至该获取时间点的时间范围内该至少一个应用的统计开始时间点均未发生改变,且在该获取时间点至该获取时间点的下一个获取时间点的时间范围内该至少一个应用中至少有一个应用的统计开始时间点发生改变。
针对从多个获取时间点中找出指定获取时间点的具体方式,在一种可能的设计中,终端可以采用逐轮比对的方式验证每个获取时间点是否为指定获取时间点:即,先验证第一个获取时间点是否为指定获取时间点,若是,则停止,若不是,再验证第二个获取时间点是否为指定获取时间点,直到验证至倒数第二个获取时间点为止。具体包括以下步骤D1或步骤D2。
步骤D1、当任一应用的第二个卡顿数据的统计开始时间点与该应用的第一个卡顿数据的统计开始时间点不同时,将第一个获取时间点作为该指定获取时间点。
对于至少一个应用中的每个应用,终端会获取该应用在第一个获取时间点的卡顿数据与第二个获取时间点的卡顿数据,再获取这两个卡顿数据的统计开始时间点,对这两个统计开始时间点进行比对。当至少一个应用中任一应用的两个统计开始时间点不同时,表明第一个获取时间点至第二个获取时间点的时间范围内该应用的卡顿数据发生损失,则会将第一个获取时间点作为指定获取时间点。
步骤D2、当该至少一个应用的第二个卡顿数据的统计开始时间点与第一个卡顿数据的统计开始时间点均相同时,继续比对每个应用的第三个卡顿数据的统计开始时间点与第一个卡顿数据的统计开始时间点,直到确定出该指定获取时间点为止。
当至少一个应用在第一个卡顿数据的统计开始时间点和在第二个卡顿数据的统计开始时间点均相同时,表明每个应用在第一个获取时间点与第二个获取时间点的时间范围内,卡顿数据均未发生损失,则验证第一个获取时间点不是指定获取时间点。继续获取每个应用在第三个获取时间点的卡顿数据与第一个获取时间点的卡顿数据,再获取这两个卡顿数据的统计开始时间点,对这两个统计开始时间点进行比对,若不同,则将第二个获取时间点作为指定获取时间点。若相同,则继续比对每个应用在第四个卡顿数据的统计开始时间点与第一个卡顿数据的统计开始时间点,以验证第三个获取时间点是否为指定获取时间点,依次类推。
也即是,每当验证当前进行比对的获取时间点的上一个获取时间点并不是指定获取时间点,则继续将下一个获取时间点的卡顿数据与第一个获取时间点的卡顿数据进行比对。
在步骤404中,对于该至少一个应用中的每个应用,终端从该应用的多个卡顿数据中选取该指定获取时间点的卡顿数据,作为该应用的匹配卡顿数据。
基于上述步骤403,从多个获取时间点中找到了指定获取时间点。在该指定获取时间点获取的至少一个应用的卡顿数据均未发生损失,是可靠的卡顿数据,且该指定获取时间点的卡顿数据为第一个获取时间点至该指定获取时间点所累计的卡顿数据,数据量较大,应用价值高,则可以获取至少一个应用在该指定获取时间点的卡顿数据,作为至少一个匹配卡顿数据。
例如,假设在早上8:00到晚上18:00,每隔半小时获取一次N个应用的卡顿数据,得到8:30的N个卡顿数据、9:00的N个卡顿数据、9:30的N个卡顿数据……18:00的N个卡顿数据。若8:30-10:30的N个卡顿数据的统计时间点均未发生改变,而11:00的N个卡顿数据中,有一些应用的卡顿数据和10:30的这些应用的卡顿数据的统计开始时间点发生改变,则表明10:30-11:00的时间段内,这些应用的卡顿数据发生丢失。则可以将10:30的N个卡顿数据均作为匹配卡顿数据。
需要说明的是,与上述图3A实施例中各个应用通过累加各自的卡顿帧数、绘制帧数和直方图数据以得到匹配卡顿帧数、匹配绘制帧数和匹配直方图数据不同,由于每个应用在指定获取时间点之前的卡顿数据均未丢失,可以反映该应用从开机以来第一次启动至该指定获取时间点累计的卡顿数据,则无需针对卡顿帧数、绘制帧数和直方图数据进行累加运算,后续直接基于每个应用在指定获取时间点的卡顿数据中的卡顿帧数、绘制帧数和直方图数据进行汇总统计。
在步骤405中,当该至少一个应用的卡顿数据的统计开始时间点均未发生改变时,对于该至少一个应用中的任一应用,终端获取该应用的多个卡顿数据中的最后一个卡顿数据,作为该应用的匹配卡顿数据。
本步骤与上述步骤307类似,在此不做赘述。
在步骤406中,终端对至少一个应用的匹配卡顿数据进行汇总统计。
本步骤具体包括以下步骤E1-步骤E3的任意组合。
步骤E1、对于该至少一个应用中的每个应用,获取该应用的匹配卡顿数据中的卡顿帧数,得到至少一个卡顿帧数,计算该至少一个卡顿帧数的和值,作为该至少一个应用的卡顿总帧数。
步骤E2、对于该至少一个应用中的每个应用,获取该应用的匹配卡顿数据中的绘制帧数,得到至少一个绘制帧数,计算该至少一个绘制帧数的和值,作为该至少一个应用的卡顿总帧数。
步骤E3、对于该至少一个应用中的每个应用,获取该应用的匹配卡顿数据中的直方图数据,得到至少一个直方图数据,基于该至少一个直方图数据,获取该至少一个应用的卡顿总时长。
当得到卡顿总帧数、绘制总帧数和卡顿总时长以后,可以基于这些数据获取终端的卡顿指标,以便基于卡顿指标衡量终端的卡顿情况。例如,可以计算卡顿总帧数和绘制总帧数的比值,得到掉帧率,作为终端的卡顿指标。
参见图4B,其示出了一种卡顿数据获取方法的操作流程图,可以包括以下步骤:
步骤1、通过测试工具(例如UiAutomator)模拟用户使用场景(如刷微博,看视频等)。
步骤2、每隔一段时间(如半个小时)运行一次dumpsys graphicsstats,获取至少一个应用的卡顿数据(例如共计10次获取卡顿数据)。
步骤3、比对多个卡顿数据,找出统计开始时间点第一次发生改变之前的最后一个卡顿数据,作为匹配卡顿数据。
本实施例提供的方法,通过比对每个应用的多个卡顿数据的统计开始时间点,可以获知应用的卡顿数据是否已经丢失,当任一应用的卡顿数据已经丢失时,确定出至少一个应用的卡顿数据均尚未发生丢失的最后一个获取时间点,将每个应用在该获取时间点的卡顿数据作为匹配卡顿数据。由于应用的匹配卡顿数据中尚未丢失数据,能够准确而真实地反映终端从开机以来第一次运行该应用到最后一个获取时间点的时间范围内的运行应用过程的卡顿情况,更加准确可靠,避免由于卡顿数据丢失造成测试结果不准确的问题。
进一步地,对于至少一个应用中的每个应用,可以无需比对该应用的所有卡顿数据的统计开始时间点,只需比对该应用的第一个卡顿数据和最后一个卡顿数据的统计开始时间点,即可判断该应用的卡顿数据的统计开始时间点是否发生改变,提高了比对效率,减少了计算量。
进一步地,提供了从多个获取时间点中确定出指定获取时间点的具体方式,每当验证当前进行比对的获取时间点的上一个获取时间点并不是指定获取时间点,则继续将下一个获取时间点的卡顿数据与第一个获取时间点的卡顿数据进行比对,准确性高,实用性强。
进一步地,当任一应用的多个卡顿数据的统计开始时间点不均相同时,可以按照预设提示方式,提示用户该应用的卡顿数据已发生丢失,便于用户及时获知卡顿数据的丢失情况,以便决策是否重新进行测试过程,更加人性化。
进一步地,可以在通过测试工具对至少一个应用执行模拟操作的过程中,获取卡顿数据,保证模拟操作产生的卡顿数据贴近于用户日常生活中实际操作产生的卡顿数据。
图5是根据一示例性实施例示出的一种卡顿数据获取装置的框图。参见图5,该装置包括:获取模块501、比对模块502、确定模块503、选取模块504和运算模块505。
获取模块501,被配置为用于在多个获取时间点获取至少一个应用的卡顿数据,得到该至少一个应用中每个应用的多个卡顿数据,该多个卡顿数据中的任一卡顿数据被配置为用于反映对应应用从本次开机以来第一次启动的时间点到该卡顿数据的获取时间点之间的卡顿情况;
比对模块502,被配置为用于比对该至少一个应用中每个应用的多个卡顿数据的统计开始时间点;
确定模块503,被配置为用于当该至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,将该应用作为指定应用,得到至少一个指定应用;
选取模块504,被配置为用于对于该至少一个指定应用中的每个指定应用,从该指定应用的多个卡顿数据中选取多个待累加卡顿数据;
运算模块505,被配置为用于对该多个待累加数据进行累加运算,得到该指定应用的匹配卡顿数据。
本实施例提供的装置,通过比对每个应用的多个卡顿数据的统计开始时间点,可以获知应用的卡顿数据是否已经丢失,当任一应用的卡顿数据已经丢失时,将该应用确定为指定应用,为该指定应用的多个待累加卡顿数据进行累加运算,得到的匹配卡顿数据综合了多次获取的卡顿数据的结果,能够准确而真实地反映终端从开机以来第一次运行该应用到最后一个获取时间点的时间范围内的运行应用过程的卡顿情况,更加准确可靠,避免由于卡顿数据丢失造成测试结果不准确的问题。
在一种可能的设计中,该比对模块502,包括:
选取子模块,被配置为用于对于该至少一个应用中的每个应用,从该应用的多个卡顿数据中选取第一个卡顿数据和最后一个卡顿数据,该多个卡顿数据已按照获取时间点从早到晚的顺序排列;
确定子模块,被配置为用于当该第一个卡顿数据的统计开始时间点和该最后一个卡顿数据的统计开始时间点不同时,确定该应用的卡顿数据的统计开始时间点发生改变。
在一种可能的设计中,该选取模块504,被配置为用于从该指定应用的多个卡顿数据中选取统计开始时间点与下一个卡顿数据的统计开始时间点不同的至少一个卡顿数据,作为至少一个该待累加数据,该多个卡顿数据按照获取时间点从早到晚的顺序排序;从该多个卡顿数据中选取最后一个卡顿数据,作为该待累加卡顿数据。
在一种可能的设计中,该选取模块504,被配置为用于对于该指定应用的多个卡顿数据中除了第一个卡顿数据以外的任一个卡顿数据,比对该卡顿数据的统计开始时间点和该卡顿数据的上一个卡顿数据的统计开始时间点;当两个统计开始时间点不同时,将该上一个卡顿数据作为该待累加卡顿数据。
在一种可能的设计中,该选取模块504,被配置为用于对于该指定应用的多个卡顿数据中除了第一个卡顿数据以外的任一个卡顿数据,比对该卡顿数据的统计开始时间点和该多个卡顿数据中最后一个卡顿数据的统计开始时间点;当两个统计开始时间点不同时,执行该比对该卡顿数据的统计开始时间点和该卡顿数据的上一个卡顿数据的统计开始时间点的步骤;当两个统计开始时间点相同时,将该卡顿数据的上一个卡顿数据作为该待累加卡顿数据,并取消执行针对该卡顿数据的下一个卡顿数据到最后一个卡顿数据的比对步骤。
在一种可能的设计中,该匹配卡顿数据包括匹配卡顿帧数、匹配绘制帧数和匹配直方图数据中的至少一项。
在一种可能的设计中,该运算模块505,包括:
获取子模块,被配置为用于获取该多个待累加卡顿数据的卡顿帧数,得到多个卡顿帧数;
计算子模块,被配置为用于计算该多个卡顿帧数的和值,作为该指定应用的匹配卡顿帧数。
在一种可能的设计中,该运算模块505,包括:
获取子模块,被配置为用于获取该多个待累加卡顿数据的绘制帧数,得到多个绘制帧数;
计算子模块,被配置为用于计算该多个绘制帧数的和值,作为匹配绘制帧数。
在一种可能的设计中,该运算模块505,包括:
获取子模块,被配置为用于获取该多个待累加卡顿数据的直方图数据,得到多个直方图数据,该多个直方图数据中的每个直方图数据包括至少一个绘制时长和对应的至少一个帧数;
计算子模块,被配置为用于对于该至少一个绘制时长中的每个绘制时长,计算该多个直方图数据中该绘制时长对应的多个帧数的和值,作为该绘制时长的匹配帧数;
该获取子模块,被配置为用于基于每个绘制时长的匹配帧数,获取匹配直方图数据,该匹配直方图数据包括至少一个绘制时长和对应的至少一个匹配帧数。
在一种可能的设计中,该获取模块501,还被配置为用于对于该至少一个应用中除了该至少一个指定应用以外的任一应用,获取该应用的多个卡顿数据中的最后一个卡顿数据,作为该应用的匹配卡顿数据,该多个卡顿数据按照获取时间点从早到晚的顺序排序。
在一种可能的设计中,该装置还被配置为用于执行以下至少一项:
对于该至少一个应用中的每个应用,获取该应用的匹配卡顿数据中的匹配卡顿帧数,得到至少一个匹配卡顿帧数;计算该至少一个匹配卡顿帧数的和值,作为该至少一个应用的卡顿总帧数;
对于该至少一个应用中的每个应用,获取该应用的匹配卡顿数据中的匹配绘制帧数,得到至少一个匹配绘制帧数;计算该至少一个匹配绘制帧数的和值,作为该至少一个应用的匹配总帧数;
对于该至少一个应用中的每个应用,获取该应用的匹配卡顿数据中的匹配直方图数据,得到至少一个匹配直方图数据;基于该至少一个匹配直方图数据,获取该至少一个应用的卡顿总时长。
在一种可能的设计中,该获取模块501,还被配置为用于通过测试工具,对该至少一个应用执行模拟操作;在模拟操作的过程中,在多个获取时间点获取该至少一个应用的卡顿数据。
在一种可能的设计中,该装置还包括:
提示模块,被配置为用于当该至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,按照预设提示方式,提示用户该应用的卡顿数据已发生丢失。
在一种可能的设计中,该获取模块501,还被配置为用于当该至少一个应用的卡顿数据的统计开始时间点均未发生改变时,对于该至少一个应用中的任一应用,获取该应用的多个卡顿数据中的最后一个卡顿数据,作为该应用的匹配卡顿数据,该多个卡顿数据按照获取时间点从早到晚的顺序排序。
图6是根据一示例性实施例示出的一种卡顿数据获取装置的框图。参见图6,该装置包括:获取模块601、比对模块602、确定模块603和选取模块604。
获取模块601,被配置为用于在多个获取时间点获取至少一个应用的卡顿数据,得到该至少一个应用中每个应用的多个卡顿数据,该多个卡顿数据中的任一卡顿数据被配置为用于反映对应应用从本次开机以来第一次启动的时间点到该卡顿数据的获取时间点之间的卡顿情况;
比对模块602,被配置为用于比对该至少一个应用中每个应用的多个卡顿数据的统计开始时间点;
确定模块603,被配置为用于当该至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,确定该多个获取时间点中的指定获取时间点;
选取模块604,被配置为用于对于该至少一个应用中的每个应用,从该应用的多个卡顿数据中选取该指定获取时间点的卡顿数据,作为该应用的匹配卡顿数据;
其中,该指定获取时间点是指符合以下条件的获取时间点:在第一个获取时间点至该指定获取时间点的时间范围内该至少一个应用的统计开始时间点均未发生改变,且在该指定获取时间点至该指定获取时间点的下一个获取时间点的时间范围内该至少一个应用中至少有一个应用的统计开始时间点发生改变。
本实施例提供的装置,通过比对每个应用的多个卡顿数据的统计开始时间点,可以获知应用的卡顿数据是否已经丢失,当任一应用的卡顿数据已经丢失时,确定出至少一个应用的卡顿数据均尚未发生丢失的最后一个获取时间点,将每个应用在该获取时间点的卡顿数据作为匹配卡顿数据。由于应用的匹配卡顿数据中尚未丢失数据,能够准确而真实地反映终端从开机以来第一次运行该应用到最后一个获取时间点的时间范围内的运行应用过程的卡顿情况,更加准确可靠,避免由于卡顿数据丢失造成测试结果不准确的问题。
在一种可能的设计中,该比对模块602,包括:
选取子模块,被配置为用于对于该至少一个应用中的每个应用,从该应用的多个卡顿数据中选取第一个卡顿数据和最后一个卡顿数据,该多个卡顿数据已按照获取时间点从早到晚的顺序排列;
确定子模块,被配置为用于当该第一个卡顿数据的统计开始时间点和该最后一个卡顿数据的统计开始时间点不同时,确定该应用的卡顿数据的统计开始时间点发生改变。
在一种可能的设计中,该确定模块603,包括:
比对子模块,被配置为用于对于该至少一个应用中的每个应用,比对该应用的第二个卡顿数据的统计开始时间点与该应用的第一个卡顿数据的统计开始时间点;
确定子模块,被配置为用于当任一应用的第二个卡顿数据的统计开始时间点与该应用的第一个卡顿数据的统计开始时间点不同时,将第一个获取时间点作为该指定获取时间点;
该比对子模块,还被配置为用于当该至少一个应用的第二个卡顿数据的统计开始时间点与第一个卡顿数据的统计开始时间点均相同时,继续比对每个应用的第三个卡顿数据的统计开始时间点与第一个卡顿数据的统计开始时间点,直到确定出该指定获取时间点为止。
在一种可能的设计中,该装置还被配置为用于执行以下至少一项:
对于该至少一个应用中的每个应用,获取该应用的匹配卡顿数据中的卡顿帧数,得到至少一个卡顿帧数;计算该至少一个卡顿帧数的和值,作为该至少一个应用的卡顿总帧数;
对于该至少一个应用中的每个应用,获取该应用的匹配卡顿数据中的绘制帧数,得到至少一个绘制帧数;计算该至少一个绘制帧数的和值,作为该至少一个应用的卡顿总帧数;
对于该至少一个应用中的每个应用,获取该应用的匹配卡顿数据中的直方图数据,得到至少一个直方图数据;基于该至少一个直方图数据,获取该至少一个应用的卡顿总时长。
在一种可能的设计中,该获取模块601,被配置为用于通过测试工具,对该至少一个应用执行模拟操作;在模拟操作的过程中,在多个获取时间点获取该至少一个应用的卡顿数据。
在一种可能的设计中,该装置还包括:
提示模块,被配置为用于当该至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,按照预设提示方式,提示用户该应用的卡顿数据已发生丢失。
在一种可能的设计中,该获取模块601,还被配置为用于:当该至少一个应用的卡顿数据的统计开始时间点均未发生改变时,对于该至少一个应用中的任一应用,获取该应用的多个卡顿数据中的最后一个卡顿数据,作为该应用的匹配卡顿数据,该多个卡顿数据按照获取时间点从早到晚的顺序排序。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该装置的实施例中进行了详细描述,此处将不做详细阐述说明。
需要说明的是:上述实施例提供的卡顿数据获取装置在获取卡顿数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的卡顿数据获取装置与卡顿数据获取方法实施例属于同一构思,其具体实现过程详见装置实施例,这里不再赘述。
图7是根据一示例性实施例示出的一种卡顿数据获取装置700的框图。例如,装置700可以是移动电话,计算机,数字广播装置,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图7,装置700可以包括以下一个或多个组件:处理组件702,存储器704,电源组件706,多媒体组件708,音频组件710,输入/输出(I/O)的接口712,传感器组件714,以及通信组件716。
处理组件702通常控制装置700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件702可以包括一个或多个处理器720来执行指令,以完成上述的装置的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理组件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。
存储器704被配置为存储各种类型的数据以支持在装置700的操作。这些数据的示例包括用于在装置700上操作的任何应用程序或装置的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件706为装置700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为装置700生成、管理和分配电力相关联的组件。
多媒体组件708包括在该装置700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。该触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与该触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当装置700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(MIC),当装置700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
I/O接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件714包括一个或多个传感器,用于为装置700提供各个方面的状态评估。例如,传感器组件714可以检测到装置700的打开/关闭状态,组件的相对定位,例如该组件为装置700的显示器和小键盘,传感器组件714还可以检测装置700或装置700一个组件的位置改变,用户与装置700接触的存在或不存在,装置700方位或加速/减速和装置700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件716被配置为便于装置700和其他设备之间有线或无线方式的通信。装置700可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,该通信组件716还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述装置。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由装置700的处理器720执行以完成上述装置。例如,该非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种存储有计算机程序的计算机可读存储介质,例如存储有计算机程序的存储器,该计算机程序被处理器执行时实现上述图1实施例、图2实施例、图3A实施例、图4A实施例中任一个实施例所述的卡顿数据获取方法。例如,计算机可读存储介质可以是只读内存(ROM)、随机存取存储器(RAM)、只读光盘(CD-ROM)、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (46)
1.一种卡顿数据获取方法,其特征在于,应用于终端中,所述方法包括:
在多个获取时间点获取至少一个应用的卡顿数据,得到所述至少一个应用中每个应用的多个卡顿数据,所述多个卡顿数据中的任一卡顿数据用于反映对应应用从本次开机以来第一次启动的时间点到所述卡顿数据的获取时间点之间的卡顿情况;
比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点;
当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,将所述应用作为指定应用,得到至少一个指定应用;
对于所述至少一个指定应用中的每个指定应用,从所述指定应用的多个卡顿数据中选取多个待累加卡顿数据;
对所述多个待累加数据进行累加运算,得到所述指定应用的匹配卡顿数据。
2.根据权利要求1所述的方法,其特征在于,所述比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点,包括:
对于所述至少一个应用中的每个应用,从所述应用的多个卡顿数据中选取第一个卡顿数据和最后一个卡顿数据,所述多个卡顿数据已按照获取时间点从早到晚的顺序排列;
当所述第一个卡顿数据的统计开始时间点和所述最后一个卡顿数据的统计开始时间点不同时,确定所述应用的卡顿数据的统计开始时间点发生改变。
3.根据权利要求1所述的方法,其特征在于,所述对于所述至少一个指定应用中的每个指定应用,从所述指定应用的多个卡顿数据中选取多个待累加卡顿数据,包括:
从所述指定应用的多个卡顿数据中选取统计开始时间点与下一个卡顿数据的统计开始时间点不同的至少一个卡顿数据,作为至少一个所述待累加数据,所述多个卡顿数据按照获取时间点从早到晚的顺序排序;
从所述多个卡顿数据中选取最后一个卡顿数据,作为所述待累加卡顿数据。
4.根据权利要求3所述的方法,其特征在于,所述从所述指定应用的多个卡顿数据中选取统计开始时间点与下一个卡顿数据的统计开始时间点不同的至少一个卡顿数据,作为至少一个所述待累加数据,包括:
对于所述指定应用的多个卡顿数据中除了第一个卡顿数据以外的任一个卡顿数据,比对所述卡顿数据的统计开始时间点和所述卡顿数据的上一个卡顿数据的统计开始时间点;
当两个统计开始时间点不同时,将所述上一个卡顿数据作为所述待累加卡顿数据。
5.根据权利要求4所述的方法,其特征在于,所述从所述指定应用的多个卡顿数据中选取统计开始时间点与下一个卡顿数据的统计开始时间点不同的至少一个卡顿数据,作为至少一个所述待累加数据,包括:
对于所述指定应用的多个卡顿数据中除了第一个卡顿数据以外的任一个卡顿数据,比对所述卡顿数据的统计开始时间点和所述多个卡顿数据中最后一个卡顿数据的统计开始时间点;
当两个统计开始时间点不同时,执行所述比对所述卡顿数据的统计开始时间点和所述卡顿数据的上一个卡顿数据的统计开始时间点的步骤;
当两个统计开始时间点相同时,将所述卡顿数据的上一个卡顿数据作为所述待累加卡顿数据,并取消执行针对所述卡顿数据的下一个卡顿数据到最后一个卡顿数据的比对步骤。
6.根据权利要求1所述的方法,其特征在于,所述匹配卡顿数据包括匹配卡顿帧数、匹配绘制帧数和匹配直方图数据中的至少一项。
7.根据权利要求1所述的方法,其特征在于,所述对所述多个待累加卡顿数据进行累加运算,得到所述指定应用的匹配卡顿数据,包括:
获取所述多个待累加卡顿数据的卡顿帧数,得到多个卡顿帧数;
计算所述多个卡顿帧数的和值,作为所述指定应用的匹配卡顿帧数。
8.根据权利要求1所述的方法,其特征在于,所述对所述多个待累加卡顿数据进行累加运算,得到所述指定应用的匹配卡顿数据,包括:
获取所述多个待累加卡顿数据的绘制帧数,得到多个绘制帧数;
计算所述多个绘制帧数的和值,作为匹配绘制帧数。
9.根据权利要求1所述的方法,其特征在于,所述对所述多个待累加卡顿数据进行累加运算,得到所述指定应用的匹配卡顿数据,包括:
获取所述多个待累加卡顿数据的直方图数据,得到多个直方图数据,所述多个直方图数据中的每个直方图数据包括至少一个绘制时长和对应的至少一个帧数;
对于所述至少一个绘制时长中的每个绘制时长,计算所述多个直方图数据中所述绘制时长对应的多个帧数的和值,作为所述绘制时长的匹配帧数;
基于每个绘制时长的匹配帧数,获取匹配直方图数据,所述匹配直方图数据包括至少一个绘制时长和对应的至少一个匹配帧数。
10.根据权利要求1所述的方法,其特征在于,所述当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,将所述应用作为指定应用之后,所述方法还包括:
对于所述至少一个应用中除了所述至少一个指定应用以外的任一应用,获取所述应用的多个卡顿数据中的最后一个卡顿数据,作为所述应用的匹配卡顿数据,所述多个卡顿数据按照获取时间点从早到晚的顺序排序。
11.根据权利要求1所述的方法,其特征在于,所述对所述多个待累加数据进行累加运算,得到所述指定应用的匹配卡顿数据之后,所述方法还包括以下至少一项:
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的匹配卡顿帧数,得到至少一个匹配卡顿帧数;计算所述至少一个匹配卡顿帧数的和值,作为所述至少一个应用的卡顿总帧数;
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的匹配绘制帧数,得到至少一个匹配绘制帧数;计算所述至少一个匹配绘制帧数的和值,作为所述至少一个应用的匹配总帧数;
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的匹配直方图数据,得到至少一个匹配直方图数据;基于所述至少一个匹配直方图数据,获取所述至少一个应用的卡顿总时长。
12.根据权利要求1所述的方法,其特征在于,所述在多个获取时间点获取至少一个应用的卡顿数据,包括:
通过测试工具,对所述至少一个应用执行模拟操作;
在模拟操作的过程中,在多个获取时间点获取所述至少一个应用的卡顿数据。
13.根据权利要求1所述的方法,其特征在于,所述比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点之后,所述方法还包括:
当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,按照预设提示方式,提示用户所述应用的卡顿数据已发生丢失。
14.根据权利要求1所述的方法,其特征在于,所述比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点之后,所述方法还包括:
当所述至少一个应用的卡顿数据的统计开始时间点均未发生改变时,对于所述至少一个应用中的任一应用,获取所述应用的多个卡顿数据中的最后一个卡顿数据,作为所述应用的匹配卡顿数据,所述多个卡顿数据按照获取时间点从早到晚的顺序排序。
15.一种卡顿数据获取方法,其特征在于,应用于终端中,所述方法包括:
在多个获取时间点获取至少一个应用的卡顿数据,得到所述至少一个应用中每个应用的多个卡顿数据,所述多个卡顿数据中的任一卡顿数据用于反映对应应用从本次开机以来第一次启动的时间点到所述卡顿数据的获取时间点之间的卡顿情况;
比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点;
当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,确定所述多个获取时间点中的指定获取时间点;
对于所述至少一个应用中的每个应用,从所述应用的多个卡顿数据中选取所述指定获取时间点的卡顿数据,作为所述应用的匹配卡顿数据;
其中,所述指定获取时间点是指符合以下条件的获取时间点:在第一个获取时间点至所述指定获取时间点的时间范围内所述至少一个应用的统计开始时间点均未发生改变,且在所述指定获取时间点至所述指定获取时间点的下一个获取时间点的时间范围内所述至少一个应用中至少有一个应用的统计开始时间点发生改变。
16.根据权利要求15所述的方法,其特征在于,所述比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点,包括:
对于所述至少一个应用中的每个应用,从所述应用的多个卡顿数据中选取第一个卡顿数据和最后一个卡顿数据,所述多个卡顿数据已按照获取时间点从早到晚的顺序排列;
当所述第一个卡顿数据的统计开始时间点和所述最后一个卡顿数据的统计开始时间点不同时,确定所述应用的卡顿数据的统计开始时间点发生改变。
17.根据权利要求15所述的方法,其特征在于,所述当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,确定所述多个获取时间点中的指定获取时间点,包括:
对于所述至少一个应用中的每个应用,比对所述应用的第二个卡顿数据的统计开始时间点与所述应用的第一个卡顿数据的统计开始时间点;
当任一应用的第二个卡顿数据的统计开始时间点与所述应用的第一个卡顿数据的统计开始时间点不同时,将第一个获取时间点作为所述指定获取时间点;
当所述至少一个应用的第二个卡顿数据的统计开始时间点与第一个卡顿数据的统计开始时间点均相同时,继续比对每个应用的第三个卡顿数据的统计开始时间点与第一个卡顿数据的统计开始时间点,直到确定出所述指定获取时间点为止。
18.根据权利要求15所述的方法,其特征在于,所述对于所述至少一个应用中的每个应用,从所述应用的多个卡顿数据中选取所述指定获取时间点的卡顿数据,作为所述应用的匹配卡顿数据之后,所述方法还包括以下至少一项:
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的卡顿帧数,得到至少一个卡顿帧数;计算所述至少一个卡顿帧数的和值,作为所述至少一个应用的卡顿总帧数;
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的绘制帧数,得到至少一个绘制帧数;计算所述至少一个绘制帧数的和值,作为所述至少一个应用的卡顿总帧数;
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的直方图数据,得到至少一个直方图数据;基于所述至少一个直方图数据,获取所述至少一个应用的卡顿总时长。
19.根据权利要求15所述的方法,其特征在于,所述在多个获取时间点获取至少一个应用的卡顿数据,包括:
通过测试工具,对所述至少一个应用执行模拟操作;
在模拟操作的过程中,在多个获取时间点获取所述至少一个应用的卡顿数据。
20.根据权利要求15所述的方法,其特征在于,所述比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点之后,所述方法还包括:
当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,按照预设提示方式,提示用户所述应用的卡顿数据已发生丢失。
21.根据权利要求15所述的方法,其特征在于,所述比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点之后,所述方法还包括:
当所述至少一个应用的卡顿数据的统计开始时间点均未发生改变时,对于所述至少一个应用中的任一应用,获取所述应用的多个卡顿数据中的最后一个卡顿数据,作为所述应用的匹配卡顿数据,所述多个卡顿数据按照获取时间点从早到晚的顺序排序。
22.一种卡顿数据获取装置,其特征在于,应用于终端中,所述装置包括:
获取模块,用于在多个获取时间点获取至少一个应用的卡顿数据,得到所述至少一个应用中每个应用的多个卡顿数据,所述多个卡顿数据中的任一卡顿数据用于反映对应应用从本次开机以来第一次启动的时间点到所述卡顿数据的获取时间点之间的卡顿情况;
比对模块,用于比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点;
确定模块,用于当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,将所述应用作为指定应用,得到至少一个指定应用;
选取模块,用于对于所述至少一个指定应用中的每个指定应用,从所述指定应用的多个卡顿数据中选取多个待累加卡顿数据;
运算模块,用于对所述多个待累加数据进行累加运算,得到所述指定应用的匹配卡顿数据。
23.根据权利要求22所述的装置,其特征在于,所述比对模块,包括:
选取子模块,用于对于所述至少一个应用中的每个应用,从所述应用的多个卡顿数据中选取第一个卡顿数据和最后一个卡顿数据,所述多个卡顿数据已按照获取时间点从早到晚的顺序排列;
确定子模块,用于当所述第一个卡顿数据的统计开始时间点和所述最后一个卡顿数据的统计开始时间点不同时,确定所述应用的卡顿数据的统计开始时间点发生改变。
24.根据权利要求22所述的装置,其特征在于,所述选取模块,用于从所述指定应用的多个卡顿数据中选取统计开始时间点与下一个卡顿数据的统计开始时间点不同的至少一个卡顿数据,作为至少一个所述待累加数据,所述多个卡顿数据按照获取时间点从早到晚的顺序排序;从所述多个卡顿数据中选取最后一个卡顿数据,作为所述待累加卡顿数据。
25.根据权利要求24所述的装置,其特征在于,所述选取模块,用于对于所述指定应用的多个卡顿数据中除了第一个卡顿数据以外的任一个卡顿数据,比对所述卡顿数据的统计开始时间点和所述卡顿数据的上一个卡顿数据的统计开始时间点;当两个统计开始时间点不同时,将所述上一个卡顿数据作为所述待累加卡顿数据。
26.根据权利要求25所述的装置,其特征在于,所述选取模块,用于对于所述指定应用的多个卡顿数据中除了第一个卡顿数据以外的任一个卡顿数据,比对所述卡顿数据的统计开始时间点和所述多个卡顿数据中最后一个卡顿数据的统计开始时间点;当两个统计开始时间点不同时,执行所述比对所述卡顿数据的统计开始时间点和所述卡顿数据的上一个卡顿数据的统计开始时间点的步骤;当两个统计开始时间点相同时,将所述卡顿数据的上一个卡顿数据作为所述待累加卡顿数据,并取消执行针对所述卡顿数据的下一个卡顿数据到最后一个卡顿数据的比对步骤。
27.根据权利要求22所述的装置,其特征在于,所述匹配卡顿数据包括匹配卡顿帧数、匹配绘制帧数和匹配直方图数据中的至少一项。
28.根据权利要求22所述的装置,其特征在于,所述运算模块,包括:
获取子模块,用于获取所述多个待累加卡顿数据的卡顿帧数,得到多个卡顿帧数;
计算子模块,用于计算所述多个卡顿帧数的和值,作为所述指定应用的匹配卡顿帧数。
29.根据权利要求22所述的装置,其特征在于,所述运算模块,包括:
获取子模块,用于获取所述多个待累加卡顿数据的绘制帧数,得到多个绘制帧数;
计算子模块,用于计算所述多个绘制帧数的和值,作为匹配绘制帧数。
30.根据权利要求22所述的装置,其特征在于,所述运算模块,包括:
获取子模块,用于获取所述多个待累加卡顿数据的直方图数据,得到多个直方图数据,所述多个直方图数据中的每个直方图数据包括至少一个绘制时长和对应的至少一个帧数;
计算子模块,用于对于所述至少一个绘制时长中的每个绘制时长,计算所述多个直方图数据中所述绘制时长对应的多个帧数的和值,作为所述绘制时长的匹配帧数;
所述获取子模块,用于基于每个绘制时长的匹配帧数,获取匹配直方图数据,所述匹配直方图数据包括至少一个绘制时长和对应的至少一个匹配帧数。
31.根据权利要求22所述的装置,其特征在于,所述获取模块,还用于对于所述至少一个应用中除了所述至少一个指定应用以外的任一应用,获取所述应用的多个卡顿数据中的最后一个卡顿数据,作为所述应用的匹配卡顿数据,所述多个卡顿数据按照获取时间点从早到晚的顺序排序。
32.根据权利要求22所述的装置,其特征在于,所述装置还用于执行以下至少一项:
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的匹配卡顿帧数,得到至少一个匹配卡顿帧数;计算所述至少一个匹配卡顿帧数的和值,作为所述至少一个应用的卡顿总帧数;
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的匹配绘制帧数,得到至少一个匹配绘制帧数;计算所述至少一个匹配绘制帧数的和值,作为所述至少一个应用的匹配总帧数;
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的匹配直方图数据,得到至少一个匹配直方图数据;基于所述至少一个匹配直方图数据,获取所述至少一个应用的卡顿总时长。
33.根据权利要求22所述的装置,其特征在于,所述获取模块,还用于通过测试工具,对所述至少一个应用执行模拟操作;在模拟操作的过程中,在多个获取时间点获取所述至少一个应用的卡顿数据。
34.根据权利要求22所述的装置,其特征在于,所述装置还包括:
提示模块,用于当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,按照预设提示方式,提示用户所述应用的卡顿数据已发生丢失。
35.根据权利要求22所述的装置,其特征在于,所述获取模块,还用于当所述至少一个应用的卡顿数据的统计开始时间点均未发生改变时,对于所述至少一个应用中的任一应用,获取所述应用的多个卡顿数据中的最后一个卡顿数据,作为所述应用的匹配卡顿数据,所述多个卡顿数据按照获取时间点从早到晚的顺序排序。
36.一种卡顿数据获取装置,其特征在于,应用于终端中,所述装置包括:
获取模块,用于在多个获取时间点获取至少一个应用的卡顿数据,得到所述至少一个应用中每个应用的多个卡顿数据,所述多个卡顿数据中的任一卡顿数据用于反映对应应用从本次开机以来第一次启动的时间点到所述卡顿数据的获取时间点之间的卡顿情况;
比对模块,用于比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点;
确定模块,用于当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,确定所述多个获取时间点中的指定获取时间点;
选取模块,用于对于所述至少一个应用中的每个应用,从所述应用的多个卡顿数据中选取所述指定获取时间点的卡顿数据,作为所述应用的匹配卡顿数据;
其中,所述指定获取时间点是指符合以下条件的获取时间点:在第一个获取时间点至所述指定获取时间点的时间范围内所述至少一个应用的统计开始时间点均未发生改变,且在所述指定获取时间点至所述指定获取时间点的下一个获取时间点的时间范围内所述至少一个应用中至少有一个应用的统计开始时间点发生改变。
37.根据权利要求36所述的装置,其特征在于,所述比对模块,包括:
选取子模块,用于对于所述至少一个应用中的每个应用,从所述应用的多个卡顿数据中选取第一个卡顿数据和最后一个卡顿数据,所述多个卡顿数据已按照获取时间点从早到晚的顺序排列;
确定子模块,用于当所述第一个卡顿数据的统计开始时间点和所述最后一个卡顿数据的统计开始时间点不同时,确定所述应用的卡顿数据的统计开始时间点发生改变。
38.根据权利要求36所述的装置,其特征在于,所述确定模块,包括:
比对子模块,用于对于所述至少一个应用中的每个应用,比对所述应用的第二个卡顿数据的统计开始时间点与所述应用的第一个卡顿数据的统计开始时间点;
确定子模块,用于当任一应用的第二个卡顿数据的统计开始时间点与所述应用的第一个卡顿数据的统计开始时间点不同时,将第一个获取时间点作为所述指定获取时间点;
所述比对子模块,还用于当所述至少一个应用的第二个卡顿数据的统计开始时间点与第一个卡顿数据的统计开始时间点均相同时,继续比对每个应用的第三个卡顿数据的统计开始时间点与第一个卡顿数据的统计开始时间点,直到确定出所述指定获取时间点为止。
39.根据权利要求36所述的装置,其特征在于,所述装置还用于执行以下至少一项:
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的卡顿帧数,得到至少一个卡顿帧数;计算所述至少一个卡顿帧数的和值,作为所述至少一个应用的卡顿总帧数;
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的绘制帧数,得到至少一个绘制帧数;计算所述至少一个绘制帧数的和值,作为所述至少一个应用的卡顿总帧数;
对于所述至少一个应用中的每个应用,获取所述应用的匹配卡顿数据中的直方图数据,得到至少一个直方图数据;基于所述至少一个直方图数据,获取所述至少一个应用的卡顿总时长。
40.根据权利要求36所述的装置,其特征在于,所述获取模块,用于通过测试工具,对所述至少一个应用执行模拟操作;在模拟操作的过程中,在多个获取时间点获取所述至少一个应用的卡顿数据。
41.根据权利要求36所述的装置,其特征在于,所述装置还包括:
提示模块,用于当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,按照预设提示方式,提示用户所述应用的卡顿数据已发生丢失。
42.根据权利要求36所述的装置,其特征在于,所述获取模块,还用于:
当所述至少一个应用的卡顿数据的统计开始时间点均未发生改变时,对于所述至少一个应用中的任一应用,获取所述应用的多个卡顿数据中的最后一个卡顿数据,作为所述应用的匹配卡顿数据,所述多个卡顿数据按照获取时间点从早到晚的顺序排序。
43.一种卡顿数据获取装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
在多个获取时间点获取至少一个应用的卡顿数据,得到所述至少一个应用中每个应用的多个卡顿数据,所述多个卡顿数据中的任一卡顿数据用于反映对应应用从本次开机以来第一次启动的时间点到所述卡顿数据的获取时间点之间的卡顿情况;
比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点;
当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,将所述应用作为指定应用,得到至少一个指定应用;
对于所述至少一个指定应用中的每个指定应用,从所述指定应用的多个卡顿数据中选取多个待累加卡顿数据;
对所述多个待累加数据进行累加运算,得到所述指定应用的匹配卡顿数据。
44.一种卡顿数据获取装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
在多个获取时间点获取至少一个应用的卡顿数据,得到所述至少一个应用中每个应用的多个卡顿数据,所述多个卡顿数据中的任一卡顿数据用于反映对应应用从本次开机以来第一次启动的时间点到所述卡顿数据的获取时间点之间的卡顿情况;
比对所述至少一个应用中每个应用的多个卡顿数据的统计开始时间点;
当所述至少一个应用中任一应用的多个卡顿数据的统计开始时间点不均相同时,确定所述多个获取时间点中的指定获取时间点;
对于所述至少一个应用中的每个应用,从所述应用的多个卡顿数据中选取所述指定获取时间点的卡顿数据,作为所述应用的匹配卡顿数据;
其中,所述指定获取时间点是指符合以下条件的获取时间点:在第一个获取时间点至所述指定获取时间点的时间范围内所述至少一个应用的统计开始时间点均未发生改变,且在所述指定获取时间点至所述指定获取时间点的下一个获取时间点的时间范围内所述至少一个应用中至少有一个应用的统计开始时间点发生改变。
45.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-14中任一项所述的方法步骤。
46.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求15-21中任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710951081.7A CN107749914B (zh) | 2017-10-13 | 2017-10-13 | 卡顿数据获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710951081.7A CN107749914B (zh) | 2017-10-13 | 2017-10-13 | 卡顿数据获取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107749914A true CN107749914A (zh) | 2018-03-02 |
CN107749914B CN107749914B (zh) | 2020-10-30 |
Family
ID=61252758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710951081.7A Active CN107749914B (zh) | 2017-10-13 | 2017-10-13 | 卡顿数据获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107749914B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050164694A1 (en) * | 2004-01-26 | 2005-07-28 | Hyung-Hoon Kim | Error data recovery system and method in a mobile communication terminal |
CN101183387A (zh) * | 2007-12-14 | 2008-05-21 | 沈阳东软软件股份有限公司 | 一种增量数据捕获方法和系统 |
CN104601770A (zh) * | 2014-12-25 | 2015-05-06 | 惠州Tcl移动通信有限公司 | 一种终端及其流畅性评测方法 |
CN104965773A (zh) * | 2015-07-09 | 2015-10-07 | 网易(杭州)网络有限公司 | 终端、卡顿检测方法、装置及游戏卡顿检测方法、装置 |
CN105653407A (zh) * | 2015-12-08 | 2016-06-08 | 网易(杭州)网络有限公司 | 终端、卡顿测量方法、装置及游戏卡顿测量方法、装置 |
CN106775403A (zh) * | 2016-12-14 | 2017-05-31 | 北京小米移动软件有限公司 | 获取卡顿信息的方法及装置 |
CN107038107A (zh) * | 2017-03-09 | 2017-08-11 | 武汉斗鱼网络科技有限公司 | 一种获取应用卡顿信息的方法及装置 |
-
2017
- 2017-10-13 CN CN201710951081.7A patent/CN107749914B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050164694A1 (en) * | 2004-01-26 | 2005-07-28 | Hyung-Hoon Kim | Error data recovery system and method in a mobile communication terminal |
CN101183387A (zh) * | 2007-12-14 | 2008-05-21 | 沈阳东软软件股份有限公司 | 一种增量数据捕获方法和系统 |
CN104601770A (zh) * | 2014-12-25 | 2015-05-06 | 惠州Tcl移动通信有限公司 | 一种终端及其流畅性评测方法 |
CN104965773A (zh) * | 2015-07-09 | 2015-10-07 | 网易(杭州)网络有限公司 | 终端、卡顿检测方法、装置及游戏卡顿检测方法、装置 |
CN105653407A (zh) * | 2015-12-08 | 2016-06-08 | 网易(杭州)网络有限公司 | 终端、卡顿测量方法、装置及游戏卡顿测量方法、装置 |
CN106775403A (zh) * | 2016-12-14 | 2017-05-31 | 北京小米移动软件有限公司 | 获取卡顿信息的方法及装置 |
CN107038107A (zh) * | 2017-03-09 | 2017-08-11 | 武汉斗鱼网络科技有限公司 | 一种获取应用卡顿信息的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107749914B (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105100366B (zh) | 骚扰电话号码确定方法、装置和系统 | |
CN104753766B (zh) | 表情发送方法及装置 | |
CN104954580B (zh) | 用户日程信息的处理方法及装置 | |
CN104378441B (zh) | 日程创建方法和装置 | |
CN104717366B (zh) | 联系人头像的推荐方法及装置 | |
CN106778531A (zh) | 人脸定位方法及装置 | |
CN104078045B (zh) | 一种识别的方法及电子设备 | |
CN106406562A (zh) | 数据处理方法及装置 | |
CN106170004A (zh) | 处理验证码的方法及装置 | |
CN107025421B (zh) | 指纹识别方法和装置 | |
CN107678934A (zh) | 卡顿指标获取方法及装置 | |
CN104809157B (zh) | 号码识别方法及装置 | |
CN103955274B (zh) | 应用控制方法和装置 | |
CN105354560A (zh) | 指纹识别方法及装置 | |
CN106227860A (zh) | 一种信息推送处理方法、装置及终端设备 | |
CN106484614B (zh) | 一种核对图片处理效果的方法、装置及移动终端 | |
CN106775403A (zh) | 获取卡顿信息的方法及装置 | |
CN106802741A (zh) | 屏幕边缘触控事件的确定方法及装置和移动终端 | |
CN106557755A (zh) | 指纹模板获取方法及装置 | |
CN106550252A (zh) | 信息的推送方法、装置及设备 | |
CN106648063A (zh) | 手势识别方法及装置 | |
CN107544802A (zh) | 设备识别方法及装置 | |
CN106528113A (zh) | 文件编译方法及装置 | |
CN106547850A (zh) | 表情注释方法及装置 | |
CN107025041A (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 |