CN107741897A - 应用程序流畅度检测方法、装置及智能终端 - Google Patents
应用程序流畅度检测方法、装置及智能终端 Download PDFInfo
- Publication number
- CN107741897A CN107741897A CN201710813441.7A CN201710813441A CN107741897A CN 107741897 A CN107741897 A CN 107741897A CN 201710813441 A CN201710813441 A CN 201710813441A CN 107741897 A CN107741897 A CN 107741897A
- Authority
- CN
- China
- Prior art keywords
- target message
- message
- application program
- execution
- time
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
- G06F11/3423—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种应用程序流畅度检测方法、装置及智能终端,包括下述步骤:从消息队列中获取出预执行的目标消息,并记录取出所述目标消息的开始时间;执行所述目标消息并在任务进程结束后记录所述任务进程的结束时间;根据所述开始时间与所述结束时间计算所述目标消息的执行时长,以确定发布所述目标消息的应用程序的流畅度。通过在取出目标消息时记录消息开始执行的时间,并在目标消息任务执行完成后记录任务进程的结束时间,通过二个时间节点的差值就能够计算出执行该目标消息的执行时长,按照常规消息处理的平均时间或期望的处理时长,对该执行时长进行评价或等级划分,就能够得到发布该目标消息应用程序的流畅度评价报告。
Description
技术领域
本发明实施例涉及性能检测领域,尤其是一种应用程序流畅度检测 方法、装置及智能终端。
背景技术
随着移动网络的快速发展,涌现出了大量移动应用,但是只有优秀 的应用可以吸引和留存用户。而操作的流畅度是检测应用程序是否优秀 的一个重要指标,操作流畅反应迅速的应用程序往往会在同类应用中受 到用户青睐。因此,在应用程序开发和使用过程中对应用程序的流畅度 检测已成为一个重要环节。
现有技术中为检测应用程序的流畅度,在应用程序的开发阶段,往 往采用DDMS调试工具进行分析,DDMS将搭建起IDE与测试终端 (Emulator或者connected device)的链接,他们应用各自独立的端口监听调 试信息,DDMS可以实时监测到测试终端的连接情况。通过监测得到的数 据能够对应用程序的流畅度进行检测。
但是本发明创造的发明人在实践中发现,DDMS分析过程太复杂, 使用起来不方便,且DDMS调式工具只适用在开发阶段使用,无法分析 外发版本,用户无法通过智能终端监控安装应用程序的流畅度。
发明内容
本发明实施例提供能够通过智能终端自身监控已安装应用程序运 行流畅度的应用程序流畅度检测方法、装置及智能终端。
为解决上述技术问题,本发明创造的实施例采用的一个技术方案 是:提供一种应用程序流畅度检测方法,包括下述步骤:
从消息队列中获取出预执行的目标消息,并记录取出所述目标消息 的开始时间;
执行所述目标消息并在任务进程结束后记录所述任务进程的结束 时间;
根据所述开始时间与所述结束时间计算所述目标消息的执行时长, 以确定发布所述目标消息的应用程序的流畅度。
具体地,所述执行所述目标消息并在任务进程结束后记录所述任务 进程的结束时间的步骤之后,还包括下述步骤:
监控所述目标消息的执行状态,当所述目标消息在预设的第一检测 时间内未被执行时完成时,输出执行所述目标消息主线程的方法堆栈, 以确定所述目标消息存在的问题。
具体地,所述监控所述目标消息的执行状态,当所述目标消息在预 设的第一检测时间内未被执行时完成时,输出执行所述目标消息主线程 的方法堆栈,以确定所述目标消息存在的问题的步骤,具体包括下述步 骤:
获取取出所述目标消息的开始时间,同时调用时间线程记录所述目 标消息的执行时长;
当所述执行时长大于所述第一检测时间时,获取主线程堆栈信息;
打印所述堆栈信息,以用于确定所述目标消息存在的问题。
具体地,所述获取取出所述目标消息的开始时间,同时调用时间线 程记录所述目标消息的执行时长的步骤之后,还包括下述步骤:
当所述目标消息在所述第一检测时间内执行完成后,取消获取主线 程堆栈信息的任务;
记录执行所述目标消息的执行时长。
具体地,所述根据所述开始时间与所述结束时间计算所述目标消息 的执行时长,以确定发布所述目标消息的应用程序的流畅度的步骤之 后,还包括下述步骤:
分别记录所述应用程序为达成任意用户指令需执行的多项目标消 息的执行时长;
将多项目标消息的执行时长分别与预设的第一流畅度检测区间进 行比对;
当位于所述第一流畅度检测区间内的目标消息与总体目标消息的 占比达到预设的标准阈值时,所述应用程序的流畅度检测合格。
为解决上述技术问题,本实施例还提供:一种应用程序流畅度检测 装置,包括:
消息获取模块,用于从消息队列中获取出预执行的目标消息,并记 录取出所述目标消息的开始时间;
任务记录模块,用于执行所述目标消息并在任务进程结束后记录所 述任务进程的结束时间;
处理模块,用于根据所述开始时间与所述结束时间计算所述目标消 息的执行时长,以确定发布所述目标消息的应用程序的流畅度。
具体地,所述检测装置还包括:
第一监控子模块,用于监控所述目标消息的执行状态,当所述目标 消息在预设的第一检测时间内未被执行时完成时,输出执行所述目标消 息主线程的方法堆栈,以确定所述目标消息存在的问题。
具体地,所述检测装置还包括:
第一获取子模块,用于获取取出所述目标消息的开始时间,同时调 用时间线程记录所述目标消息的执行时长;
第一处理子模块,用于当所述执行时长大于所述第一检测时间时, 获取主线程堆栈信息;
第一输出子模块,用于打印所述堆栈信息,以用于确定所述目标消 息存在的问题。
具体地,所述检测装置还包括:
第二处理子模块,用于当所述目标消息在所述第一检测时间内执行 完成后,取消获取主线程堆栈信息的任务;
第一记录子模块,用于记录执行所述目标消息的执行时长。
具体地,所述检测装置还包括:
第二记录子模块,用于分别记录所述应用程序为达成任意用户指令 需执行的多项目标消息的执行时长;
第三处理子模块,用于将多项目标消息的执行时长分别与预设的第 一流畅度检测区间进行比对;
第一确认子模块,用于当位于所述第一流畅度检测区间内的目标消 息与总体目标消息的占比达到预设的标准阈值时,所述应用程序的流畅 度检测合格。
为解决上述技术问题,本发明实施例还提供:一种智能终端,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述 存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个 程序配置用于执行上述文件所述的应用程序流畅度检测方法。
本发明实施例的有益效果是:通过在取出目标消息时记录消息开始 执行的时间,并在目标消息任务执行完成后记录任务进程的结束时间, 通过二个时间节点的差值就能够计算出执行该目标消息的执行时长,按 照常规消息处理的平均时间或期望的处理时长,对该执行时长进行评价 或等级划分,就能够得到发布该目标消息应用程序的流畅度评价报告。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描 述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图 仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造 性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例应用程序流畅度检测方法基本流程示意图;
图2为本发明实施例目标消息卡顿检测的基本流程示意图;
图3为本发明实施例目标消息卡顿检测另一种执行方向流程示意 图;
图4为本发明实施例多目标消息确定应用程序流畅度方法的流程示 意图;
图5为本发明实施例应用程序流畅度检测方法拓扑示意图;
图6为本发明实施例智能终端基本结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发 明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描 述。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程 中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操 作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如 101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何 的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二” 等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也 不限定“第一”和“第二”是不同的类型。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案 进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实 施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明 保护的范围。
实施例
本实施例中以安卓系统为例,对应用程序流畅度检测方法进行详细 说明。
Android是一种基于Linux的自由及开放源代码的操作系统,主要 使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联 盟领导及开发。但应用程序流畅度检测方法的使用不局限于安卓系统, 根据具体应用场景的不同,本领域技术人员能够将本方法的原理移植到 其他智能操作系统上,如:
请参阅图1,图1为本实施例应用程序流畅度检测方法基本流程示 意图。
如图1所示,一种应用程序流畅度检测方法,包括下述步骤:
S1000、从消息队列中获取出预执行的目标消息,并记录取出所述 目标消息的开始时间;
搭载安卓系统的智能终端在接收到用户指令并进行执行时,将执行 的任务以消息的方式向主线程发送,主线程接收到应用程序发送的消息 后对消息进行堆栈处理,也即对收到的应用程序发送的多个信息进行排 列,形成消息队列。
主线程对于消息队列中的消息处理方式是按预设的堆栈处理方法 依次进行的,当被检测应用程序发送的目标消息被主线程取出时,记录 目标消息被取出的时间,并将该时间标记为开始时间。
需要指出的事目标消息是应用程序为响应用户指令形成的能够完 成该指令的程序集合,对于不同难度的指令执行,应用程序发送的目标 消息不限于一个,在一些选择性实施方式中,应用程序发送的目标消息 能够是多个。
S2000、执行所述目标消息并在任务进程结束后记录所述任务进程 的结束时间。
主线程在取出目标消息后,将其作为智能终端的主线程进行执行, 当执行结束时,通过时间进程记录执行目标消息的任务进程结束的时 间,并将该时间标记为目标消息执行的结束时间。
S3000、根据所述开始时间与所述结束时间计算所述目标消息的执 行时长,以确定发布所述目标消息的应用程序的流畅度。
获取到目标消息的开始时间与结束时间,由结束时间减去开始时间 所得到的时间,即为主线程执行目标消息的执行时长。
执行时长能够直接反应出目标消息被执行时的流畅性,同样也能够 直接反映出发送目标消息的应用程序的流畅度。
流畅度的检测能够通过参照物比对的方式获得结果,通过大数据计 算获取主线程执行消息的平均时长,然后以该平均时长作为比对时的参 照,然后通过将目标消息的执行时长与该平均时长进行比较,得知应用 程序的流畅度是否达到一般标准。
或者预先设置执行时长的期望目标,期望目标的设定也应当参考应 用程序的平均时长进行设定。将目标消息的执行时长与期望目标进行比 对,也能够检验应用程序的流畅度是否达到期望目标。
上述实施方式通过在取出目标消息时记录消息开始执行的时间,并 在目标消息任务执行完成后记录任务进程的结束时间,通过二个时间节 点的差值就能够计算出执行该目标消息的执行时长,按照常规消息处理 的平均时间或期望的处理时长,对该执行时长进行评价或等级划分,就 能够得到发布该目标消息应用程序的流畅度评价报告。
现实操作中,应用程序在执行目标消息时,并非都能够完成执行, 出现较为严重的卡顿现象,如果目标消息在执行时出现卡顿,需要对造 成卡顿的原因进行调查,因此需要获取目标消息的资料进行研究追查。
因此,在步骤S2000之后还包括步骤S2100。
需要指出的是,步骤S2000与步骤S2100,并没有严格的先后关系, 而是步骤S2000与步骤S2100为两个并行的步骤,执行S2000过程中, 达成触发步骤S2100的事件时,跳转至步骤S2100。
S2100、监控所述目标消息的执行状态,当所述目标消息在预设的 第一检测时间内未被执行时完成时,输出执行所述目标消息主线程的方 法堆栈,以确定所述目标消息存在的问题。
第一检测时间被定义为3秒,当目标消息的执行时长大于3秒时, 即被认定为卡顿。第一检测时间的设置不局限于3秒,根据具体应用场 景的不同,在一些选择性实施方式中,第一检测时间能够被定义为任意 长度的时间。
方法堆栈是指主线程当前执行的目标消息的相关信息。
主线程在执行目标消息的同时,监控进程监控目标消息的执行状 态,当目标消息在预设的第一检测事件内未被检测到执行完毕时,主线 程将当前执行的方法堆栈进行输出,输出的堆栈中包含目标消息的具体 信息,能够为开发者或用户追查提供线索。当应用程序的多个目标消息 先后被送到主线程中进行执行时,如果能够将出现卡顿的目标消息的堆 栈输出,并打印发送至开发者处,能够大大缩减排查卡顿出现原因的时 间,提高开发的工作效率。
具体地,请参阅图2,如2为本实施例目标消息卡顿检测的基本流 程示意图。
如图2所示,步骤S2100具体包括下述步骤:
S2110、获取取出所述目标消息的开始时间,同时调用时间线程记 录所述目标消息的执行时长。
在步骤S2000执行的同时,调用时间进程记录目标消息的执行时长。
S2120、当所述执行时长大于所述第一检测时间时,获取主线程堆 栈信息;
并将目标消息的执行时长与第一检测时间进行比对,比对若目标消 息的执行时长已经超过了第一检测时间,则获取主线程当前正在执行的 目标消息的堆栈信息,并转至步骤S2130进行执行。
S2130、打印所述堆栈信息,以用于确定所述目标消息存在的问题。
当所述堆栈信息被提取出来之后,将堆栈信息进行打印形成卡顿故 障报错信息,向用户进行显示。报错信息中包括目标消息的各项参数和 执行时的卡顿时长等信息,方便开发者根据该信息对目标消息存在的问 题进行追查。
当目标消息的执行时长与第一检测时间进行比对,比对若目标消息 的执行时长在第一检测时间内执行完毕,则转至步骤S2140。
具体请参阅图3,图3为本实施例目标消息卡顿检测另一种执行方 向流程示意图。
S2140、当所述目标消息在所述第一检测时间内执行完成后,取消 获取主线程堆栈信息的任务;
检测到目标消息的执行时长在第一检测时间内执行完毕后,主线程 取消获取目标消息的堆栈信息的任务,并转至步骤S2150。
S2150、记录执行所述目标消息的执行时长。
记录主线程执行目标消息的执行时长,以便于对目标消息进行数据 分析。
目标消息是应用程序为响应用户指令形成的能够完成该指令的程 序集合,对于不同难度的指令执行,应用程序发送的目标消息不限于一 个,应用程序为响应用户指令发送的目标消息是多个时,需要对多个目 标进行统计分析没才能够得出应用程序流畅度的检测结果。
具体请参阅图4,图4为本实施例多目标消息确定应用程序流畅度 方法的流程示意图。
如图4所示,步骤S3000之后还包括下述步骤:
S3100、分别记录所述应用程序为达成任意用户指令需执行的多项 目标消息的执行时长;
记录为响应用户某一指令,应用程序发送的多个目标消息的执行时 长分别是多少。
S3200、将多项目标消息的执行时长分别与预设的第一流畅度检测 区间进行比对;
将多个目标消息的执行时间分别与第一流畅度检测区间进行比对, 并对目标消息执行时长在不同区间的占比进行统计,并转至步骤S3300.
第一流畅度检测区间把处理目标消息所消耗的时间分为9个区间, A区间为0到50毫秒,B区间为50到100毫秒,C区间为100毫秒到 150毫秒,D区间为150毫秒到250毫秒,E区间为250毫秒到500毫 秒,F区间为500毫秒到1000毫秒,G区间为1000毫秒到2000毫秒, H区间为2000毫秒到4000毫秒,I区间大于4000毫秒。
S3300、当位于所述第一流畅度检测区间内的目标消息与总体目标 消息的占比达到预设的标准阈值时,所述应用程序的流畅度检测合格。
记录每个区间处理消息总数和所需的总时间。流畅不卡顿的阈值是 在区间A的消息总数占所有总数的99.9%以上且区间A的耗时总数占所 有耗时的99%以上,该应用程序流畅度的检测方能够合格。
举例说明,以应用程序响应用户的UI操作指令的示例,完整的描 述应用程序流畅度检测方法。
具体请参阅图5,图5为本实施例应用程序流畅度检测方法拓扑示 意图。
如图5所示,处于开启状态的应用程序,接收到用户发送的UI界 面操作指令,为响应该指令应用程序先后向主线程发送了多个目标消 息,主线程依次取的一个目标消息并执行该目标消息,主线程在获取目 标消息的同时,记录该目标消息的执行开始时间,以及调用时间进程对 该目标消息执行时长进行记录。
当主线程执行结束时,记录目标消息的结束时间,通过结束时间和 开始时间计算该目标消息的执行时长,并对该执行时长加以记录,然后 循环执行下一个目标消息,直至该应用程序为响应用户的界面操作指令 发送的所有目标消息均被执行完成后结束。执行过程中若时间进程记录 某一目标参数的执行时长超过3秒时,将该目标消息的堆栈信息进行输 出打印,方便开发者对卡顿问题进行排查和修复。
为解决上述技术问题,本实施例还提供一种应用程序流畅度检测装 置,包括:消息获取模块、任务记录模块和处理模块。其中,消息获取 模块用于从消息队列中获取出预执行的目标消息,并记录取出所述目标 消息的开始时间;任务记录模块用于执行所述目标消息并在任务进程结 束后记录所述任务进程的结束时间;处理模块用于根据所述开始时间与 所述结束时间计算所述目标消息的执行时长,以确定发布所述目标消息 的应用程序的流畅度。
上述实施方式通过在取出目标消息时记录消息开始执行的时间,并 在目标消息任务执行完成后记录任务进程的结束时间,通过二个时间节 点的差值就能够计算出执行该目标消息的执行时长,按照常规消息处理 的平均时间或期望的处理时长,对该执行时长进行评价或等级划分,就 能够得到发布该目标消息应用程序的流畅度评价报告。
在一些实施方式中,检测装置还包括:第一监控子模块,用于监控 所述目标消息的执行状态,当所述目标消息在预设的第一检测时间内未 被执行时完成时,输出执行所述目标消息主线程的方法堆栈,以确定所 述目标消息存在的问题。
在一些实施方式中,检测装置还包括:第一获取子模块、第一处理 子模块和第一输出子模块。其中,第一获取子模块用于获取取出所述目 标消息的开始时间,同时调用时间线程记录所述目标消息的执行时长; 第一处理子模块用于当所述执行时长大于所述第一检测时间时,获取主 线程堆栈信息;第一输出子模块用于打印所述堆栈信息,以用于确定所 述目标消息存在的问题。
在一些实施方式中,检测装置还包括:第二处理子模块和第一记录 子模块。其中,第二处理子模块用于当所述目标消息在所述第一检测时 间内执行完成后,取消获取主线程堆栈信息的任务;第一记录子模块用 于记录执行所述目标消息的执行时长。
在一些实施方式中,检测装置还包括:第二记录子模块、第三处理 子模块和第一确认子模块。其中,第二记录子模块用于分别记录所述应 用程序为达成任意用户指令需执行的多项目标消息的执行时长;第三处 理子模块用于将多项目标消息的执行时长分别与预设的第一流畅度检 测区间进行比对;第一确认子模块用于当位于所述第一流畅度检测区间 内的目标消息与总体目标消息的占比达到预设的标准阈值时,所述应用 程序的流畅度检测合格。
本发明实施例还提供了智能终端,如图6所示,为了便于说明,仅 示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本 发明实施例方法部分。该终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point ofSales,销售终端)、车 载电脑等任意终端设备,以终端为手机为例:
图6示出的是与本发明实施例提供的终端相关的手机的部分结构的 框图。参考图6,手机包括:射频(Radio Frequency,RF)电路1510、 存储器1520、输入单元1530、显示单元1540、传感器1550、音频电路 1560、无线保真(wireless fidelity,Wi-Fi)模块1570、处理器1580、以 及电源1590等部件。本领域技术人员可以理解,图6中示出的手机结 构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组 合某些部件,或者不同的部件布置。
下面结合图6对手机的各个构成部件进行具体的介绍:
RF电路1510可用于收发信息或通话过程中,信号的接收和发送, 特别地,将基站的下行信息接收后,给处理器1580处理;另外,将设 计上行的数据发送给基站。通常,RF电路1510包括但不限于天线、至 少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier, LNA)、双工器等。此外,RF电路1510还可以通过无线通信与网络和 其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不 限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General PacketRadio Service,GPRS)、码 分多址(Code Division Multiple Access,CDMA)、宽带码分多址 (Wideband Code Division Multiple Access,WCDMA)、长期演进(Long TermEvolution,LTE)、电子邮件、短消息服务(Short Messaging Service, SMS)等。
存储器1520可用于存储软件程序以及模块,处理器1580通过运行 存储在存储器1520的软件程序以及模块,从而执行手机的各种功能应 用以及数据处理。存储器1520可主要包括存储程序区和存储数据区, 其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比 如声纹播放功能、图像播放功能等)等;存储数据区可存储根据手机的 使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1520 可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少 一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1530可用于接收输入的数字或字符信息,以及产生与手 机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1530 可包括触控面板1531以及其他输入设备1532。触控面板1531,也称为 触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触 笔等任何适合的物体或附件在触控面板1531上或在触控面板1531附近 的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控 面板1531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检 测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送 给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转 换成触点坐标,再送给处理器1580,并能接收处理器1580发来的命令 并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等 多种类型实现触控面板1531。除了触控面板1531,输入单元1530还可 以包括其他输入设备1532。具体地,其他输入设备1532可以包括但不 限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、 鼠标、操作杆等中的一种或多种。
显示单元1540可用于显示由用户输入的信息或提供给用户的信息 以及手机的各种菜单。显示单元1540可包括显示面板1541,可选的, 可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管 (Organic Light-Emitting Diode,OLED)等形式来配置显示面板1541。 进一步的,触控面板1531可覆盖显示面板1541,当触控面板1531检测 到在其上或附近的触摸操作后,传送给处理器1580以确定触摸事件的 类型,随后处理器1580根据触摸事件的类型在显示面板1541上提供相 应的视觉输出。虽然在图6中,触控面板1531与显示面板1541是作为 两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中, 可以将触控面板1531与显示面板1541集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1550,比如光传感器、运动传感器以 及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器, 其中,环境光传感器可根据环境光线的明暗来调节显示面板1541的亮 度,接近传感器可在手机移动到耳边时,关闭显示面板1541和/或背光。 作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴) 加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿 态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别 相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压 计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1560、扬声器1561,传声器1562可提供用户与手机之间 的音频接口。音频电路1560可将接收到的音频数据转换后的电信号, 传输到扬声器1561,由扬声器1561转换为声纹信号输出;另一方面, 传声器1562将收集的声纹信号转换为电信号,由音频电路1560接收后 转换为音频数据,再将音频数据输出处理器1580处理后,经RF电路 1510以发送给比如另一手机,或者将音频数据输出至存储器1520以便 进一步处理。
Wi-Fi属于短距离无线传输技术,手机通过Wi-Fi模块1570可以帮 助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无 线的宽带互联网访问。虽然图6示出了Wi-Fi模块1570,但是可以理解 的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的 本质的范围内而省略。
处理器1580是手机的控制中心,利用各种接口和线路连接整个手 机的各个部分,通过运行或执行存储在存储器1520内的软件程序和/或 模块,以及调用存储在存储器1520内的数据,执行手机的各种功能和 处理数据,从而对手机进行整体监控。可选的,处理器1580可包括一 个或多个处理单元;优选的,处理器1580可集成应用处理器和调制解 调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序 等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调 处理器也可以不集成到处理器1580中。
手机还包括给各个部件供电的电源1590(比如电池),优选的,电 源可以通过电源管理系统与处理器1580逻辑相连,从而通过电源管理 系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,该终端所包括的处理器1580还具有以下功能:
从消息队列中获取出预执行的目标消息,并记录取出所述目标消息 的开始时间;
执行所述目标消息并在任务进程结束后记录所述任务进程的结束 时间;
根据所述开始时间与所述结束时间计算所述目标消息的执行时长, 以确定发布所述目标消息的应用程序的流畅度。也即处理器1580具备 执行上述的任一实施例应用程序流畅度检测方法的功能,在此不再赘 述。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依 次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非 本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以 以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括 多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻 执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进 行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分 轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域 的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干 改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种应用程序流畅度检测方法,其特征在于,包括下述步骤:
从消息队列中获取出预执行的目标消息,并记录取出所述目标消息的开始时间;
执行所述目标消息并在任务进程结束后记录所述任务进程的结束时间;
根据所述开始时间与所述结束时间计算所述目标消息的执行时长,以确定发布所述目标消息的应用程序的流畅度。
2.根据权利要求1所述的应用程序流畅度检测方法,其特征在于,所述执行所述目标消息并在任务进程结束后记录所述任务进程的结束时间的步骤之后,还包括下述步骤:
监控所述目标消息的执行状态,当所述目标消息在预设的第一检测时间内未被执行时完成时,输出执行所述目标消息主线程的方法堆栈,以确定所述目标消息存在的问题。
3.根据权利要求2所述的应用程序流畅度检测方法,其特征在于,所述监控所述目标消息的执行状态,当所述目标消息在预设的第一检测时间内未被执行时完成时,输出执行所述目标消息主线程的方法堆栈,以确定所述目标消息存在的问题的步骤,具体包括下述步骤:
获取取出所述目标消息的开始时间,同时调用时间线程记录所述目标消息的执行时长;
当所述执行时长大于所述第一检测时间时,获取主线程堆栈信息;
打印所述堆栈信息,以用于确定所述目标消息存在的问题。
4.根据权利要求3所述的应用程序流畅度检测方法,其特征在于,所述获取取出所述目标消息的开始时间,同时调用时间线程记录所述目标消息的执行时长的步骤之后,还包括下述步骤:
当所述目标消息在所述第一检测时间内执行完成后,取消获取主线程堆栈信息的任务;
记录执行所述目标消息的执行时长。
5.根据权利要求1所述的应用程序流畅度检测方法,其特征在于,所述根据所述开始时间与所述结束时间计算所述目标消息的执行时长,以确定发布所述目标消息的应用程序的流畅度的步骤之后,还包括下述步骤:
分别记录所述应用程序为达成任意用户指令需执行的多项目标消息的执行时长;
将多项目标消息的执行时长分别与预设的第一流畅度检测区间进行比对;
当位于所述第一流畅度检测区间内的目标消息与总体目标消息的占比达到预设的标准阈值时,所述应用程序的流畅度检测合格。
6.一种应用程序流畅度检测装置,其特征在于,包括:
消息获取模块,用于从消息队列中获取出预执行的目标消息,并记录取出所述目标消息的开始时间;
任务记录模块,用于执行所述目标消息并在任务进程结束后记录所述任务进程的结束时间;
处理模块,用于根据所述开始时间与所述结束时间计算所述目标消息的执行时长,以确定发布所述目标消息的应用程序的流畅度。
7.根据权利要求6所述的应用程序流畅度检测装置,其特征在于,所述检测装置还包括:
第一监控子模块,用于监控所述目标消息的执行状态,当所述目标消息在预设的第一检测时间内未被执行时完成时,输出执行所述目标消息主线程的方法堆栈,以确定所述目标消息存在的问题。
8.根据权利要求7所述的应用程序流畅度检测装置,其特征在于,所述检测装置还包括:
第一获取子模块,用于获取取出所述目标消息的开始时间,同时调用时间线程记录所述目标消息的执行时长;
第一处理子模块,用于当所述执行时长大于所述第一检测时间时,获取主线程堆栈信息;
第一输出子模块,用于打印所述堆栈信息,以用于确定所述目标消息存在的问题。
9.根据权利要求8所述的应用程序流畅度检测装置,其特征在于,所述检测装置还包括:
第二处理子模块,用于当所述目标消息在所述第一检测时间内执行完成后,取消获取主线程堆栈信息的任务;
第一记录子模块,用于记录执行所述目标消息的执行时长。
10.一种智能终端,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行权利要求1-5任意一项所述的应用程序流畅度检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710813441.7A CN107741897A (zh) | 2017-09-11 | 2017-09-11 | 应用程序流畅度检测方法、装置及智能终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710813441.7A CN107741897A (zh) | 2017-09-11 | 2017-09-11 | 应用程序流畅度检测方法、装置及智能终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107741897A true CN107741897A (zh) | 2018-02-27 |
Family
ID=61235583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710813441.7A Pending CN107741897A (zh) | 2017-09-11 | 2017-09-11 | 应用程序流畅度检测方法、装置及智能终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107741897A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110188016A (zh) * | 2019-05-24 | 2019-08-30 | 努比亚技术有限公司 | 应用程序无响应阻塞的检测方法、终端以及存储介质 |
CN111124868A (zh) * | 2018-10-30 | 2020-05-08 | 广州汽车集团股份有限公司 | 流畅度确定方法、装置、电子设备和存储介质 |
CN111290960A (zh) * | 2020-02-24 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 应用程序的流畅度检测方法、装置、终端及存储介质 |
CN111858272A (zh) * | 2020-06-29 | 2020-10-30 | 深圳优地科技有限公司 | 判断程序执行延迟方法、装置及终端设备 |
CN112015613A (zh) * | 2019-05-31 | 2020-12-01 | 阿里巴巴集团控股有限公司 | 一种信息检测方法及其装置 |
CN112035322A (zh) * | 2020-09-01 | 2020-12-04 | 中国银行股份有限公司 | Jvm监控方法及装置 |
CN113176983A (zh) * | 2021-06-28 | 2021-07-27 | 北京智芯微电子科技有限公司 | 程序流监控方法及程序流监控系统、cpu、芯片 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030014464A1 (en) * | 2001-06-29 | 2003-01-16 | Deverill Ian J. | Computer system performance monitoring using transaction latency data |
CN101599027A (zh) * | 2009-06-30 | 2009-12-09 | 中兴通讯股份有限公司 | 一种线程池管理方法及其系统 |
CN102144222A (zh) * | 2008-07-02 | 2011-08-03 | 国立大学法人东京工业大学 | 执行时间估计方法、执行时间估计程序以及执行时间估计装置 |
CN105589783A (zh) * | 2014-11-18 | 2016-05-18 | 广州市动景计算机科技有限公司 | 应用程序卡顿问题数据获取方法及装置 |
CN105677573A (zh) * | 2016-02-26 | 2016-06-15 | 厦门美图移动科技有限公司 | 一种卡顿检测方法、装置及计算设备 |
CN106445769A (zh) * | 2015-08-11 | 2017-02-22 | 腾讯科技(深圳)有限公司 | 计算机运行监测方法、装置和系统 |
CN107038107A (zh) * | 2017-03-09 | 2017-08-11 | 武汉斗鱼网络科技有限公司 | 一种获取应用卡顿信息的方法及装置 |
-
2017
- 2017-09-11 CN CN201710813441.7A patent/CN107741897A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030014464A1 (en) * | 2001-06-29 | 2003-01-16 | Deverill Ian J. | Computer system performance monitoring using transaction latency data |
CN102144222A (zh) * | 2008-07-02 | 2011-08-03 | 国立大学法人东京工业大学 | 执行时间估计方法、执行时间估计程序以及执行时间估计装置 |
CN101599027A (zh) * | 2009-06-30 | 2009-12-09 | 中兴通讯股份有限公司 | 一种线程池管理方法及其系统 |
CN105589783A (zh) * | 2014-11-18 | 2016-05-18 | 广州市动景计算机科技有限公司 | 应用程序卡顿问题数据获取方法及装置 |
CN106445769A (zh) * | 2015-08-11 | 2017-02-22 | 腾讯科技(深圳)有限公司 | 计算机运行监测方法、装置和系统 |
CN105677573A (zh) * | 2016-02-26 | 2016-06-15 | 厦门美图移动科技有限公司 | 一种卡顿检测方法、装置及计算设备 |
CN107038107A (zh) * | 2017-03-09 | 2017-08-11 | 武汉斗鱼网络科技有限公司 | 一种获取应用卡顿信息的方法及装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124868A (zh) * | 2018-10-30 | 2020-05-08 | 广州汽车集团股份有限公司 | 流畅度确定方法、装置、电子设备和存储介质 |
CN110188016A (zh) * | 2019-05-24 | 2019-08-30 | 努比亚技术有限公司 | 应用程序无响应阻塞的检测方法、终端以及存储介质 |
CN110188016B (zh) * | 2019-05-24 | 2022-11-01 | 山东多科科技有限公司 | 应用程序无响应阻塞的检测方法、终端以及存储介质 |
CN112015613A (zh) * | 2019-05-31 | 2020-12-01 | 阿里巴巴集团控股有限公司 | 一种信息检测方法及其装置 |
CN111290960A (zh) * | 2020-02-24 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 应用程序的流畅度检测方法、装置、终端及存储介质 |
CN111858272A (zh) * | 2020-06-29 | 2020-10-30 | 深圳优地科技有限公司 | 判断程序执行延迟方法、装置及终端设备 |
CN111858272B (zh) * | 2020-06-29 | 2023-07-14 | 深圳优地科技有限公司 | 判断程序执行延迟方法、装置及终端设备 |
CN112035322A (zh) * | 2020-09-01 | 2020-12-04 | 中国银行股份有限公司 | Jvm监控方法及装置 |
CN112035322B (zh) * | 2020-09-01 | 2023-08-22 | 中国银行股份有限公司 | Jvm监控方法及装置 |
CN113176983A (zh) * | 2021-06-28 | 2021-07-27 | 北京智芯微电子科技有限公司 | 程序流监控方法及程序流监控系统、cpu、芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107741897A (zh) | 应用程序流畅度检测方法、装置及智能终端 | |
CN104699598B (zh) | 自动化测试方法、装置、设备及系统 | |
CN104516812A (zh) | 一种软件测试方法和装置 | |
CN106991034A (zh) | 一种监控卡顿的方法和设备以及移动终端 | |
CN103530040A (zh) | 目标元素移动方法、装置及电子设备 | |
CN106453767A (zh) | 跌落后故障检测方法及装置 | |
CN104423822B (zh) | 录制自动化测试脚本的方法及装置 | |
CN105740145B (zh) | 定位控件中的元素的方法及装置 | |
CN107276602B (zh) | 射频干扰处理方法、装置、存储介质及终端 | |
CN107368400A (zh) | Cpu监测方法、装置、计算机可读存储介质和移动终端 | |
CN107391198A (zh) | 任务调度方法和装置、计算机可读存储介质、移动终端 | |
CN108541009A (zh) | 一种通信状态的检测方法和终端设备 | |
CN109753425A (zh) | 弹窗处理方法及装置 | |
CN107422298A (zh) | 蓝牙测距参数优化方法、系统、存储介质及移动终端 | |
CN109992965A (zh) | 进程处理方法和装置、电子设备、计算机可读存储介质 | |
CN104809055B (zh) | 一种基于云平台的应用程序测试方法和装置 | |
CN112148579A (zh) | 一种用户界面的测试方法和装置 | |
CN109246233A (zh) | 基于在线监控的数据处理方法、装置、设备及存储介质 | |
CN107715449A (zh) | 一种账号登录方法及相关设备 | |
CN107193773A (zh) | 一种数据处理方法、装置及移动终端 | |
CN109582565A (zh) | 防止应用崩溃的方法、终端及计算机存储介质 | |
CN106776301A (zh) | 子元素测试方法及装置 | |
CN110069407B (zh) | 一种应用程序的功能测试方法和装置 | |
CN106648460B (zh) | 计步数据过滤方法及智能终端 | |
CN107066374A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180227 |
|
RJ01 | Rejection of invention patent application after publication |