终端应用流畅度估计方法和系统.pdf
![终端应用流畅度估计方法和系统.pdf_第1页](https://img.zhuanlichaxun.net/fileroot4/2021-5/9/9fbbb925-a439-4ec9-a3f1-4ecd2414c523/9fbbb925-a439-4ec9-a3f1-4ecd2414c5231.gif)
![终端应用流畅度估计方法和系统.pdf_第2页](https://img.zhuanlichaxun.net/fileroot4/2021-5/9/9fbbb925-a439-4ec9-a3f1-4ecd2414c523/9fbbb925-a439-4ec9-a3f1-4ecd2414c5232.gif)
![终端应用流畅度估计方法和系统.pdf_第3页](https://img.zhuanlichaxun.net/fileroot4/2021-5/9/9fbbb925-a439-4ec9-a3f1-4ecd2414c523/9fbbb925-a439-4ec9-a3f1-4ecd2414c5233.gif)
《终端应用流畅度估计方法和系统.pdf》由会员分享,可在线阅读,更多相关《终端应用流畅度估计方法和系统.pdf(17页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010131737.2 (22)申请日 2020.02.29 (71)申请人 上海大犀角信息科技有限公司 地址 201802 上海市嘉定区真南路4268号2 幢JT7450室 (72)发明人 许圣霖 (74)专利代理机构 北京天驰君泰律师事务所 11592 代理人 孟锐 (51)Int.Cl. G06F 11/36(2006.01) G06F 11/34(2006.01) (54)发明名称 一种终端应用流畅度估计方法和系统 (57)摘要 本发明涉及一种终端应用流畅度估计方法。
2、 和系统, 其中所述方法包括: 在终端应用运行过 程中, 检测用户对终端的操作行为; 响应于用户 的操作行为引起应用界面发生的变化, 获取所述 终端应用的帧率; 以及至少部分基于经获取的帧 率, 估计所述应用的流畅度。 本发明能够检测到 更多直接影响用户体验的卡顿场景, 减少了无用 数据的收集, 不但提高了监测效率, 也提供了精 练的监测数据, 便于后续的应用开发和升级流 程。 权利要求书2页 说明书9页 附图5页 CN 111444086 A 2020.07.24 CN 111444086 A 1.一种终端应用流畅度估计方法, 包括: 在终端应用运行过程中, 检测用户对终端的操作行为; 响应。
3、于用户的操作行为引起应用界面发生的变化, 获取所述终端应用的帧率; 以及 至少部分基于经获取的帧率, 估计所述应用的流畅度。 2.根据权利要求1所述的方法, 进一步包括: 获取用户操作行为有效时间段内所述终端 应用的帧率。 3.根据权利要求1所述的方法, 进一步包括: 基于用户对终端的操作行为, 监测所述操作行为引起的终端帧率是否发生变化; 以及 响应于帧率发生变化, 获取所述终端应用的帧率。 4.根据权利要求3所述的方法, 进一步包括: 在监测到所述操作行为引起的终端帧率升 高时, 获取升高前的帧率; 在监测到所述操作行为引起的终端帧率降低时, 获取降低后的帧 率。 5.根据权利要求3所述的。
4、方法, 进一步包括: 在帧率发生变化时, 记录一次帧率事件, 并 记录所述帧率事件的路径。 6.根据权利要求1所述的方法, 进一步包括: 监测系统ChoreoGrapher回调频率; 以及 响应于所述回调频率的变化, 获取所述终端应用的帧率。 7.根据权利要求6所述的方法, 进一步包括: 根据ChoreoGrapher回调的发生时刻计算 回调频率。 8.根 据 权 利 要 求 6 所 述的 方 法 , 进 一 步 包 括 : 通 过 统 计 单 位 时 间 内 获 取的 ChoreoGrapher回调次数确定回调频率。 9.根据权利要求6所述的方法, 进一步包括: 在所述应用中创建回调监听器,。
5、 用于监听 ChoreoGrapher的回调。 10.根据权利要求6所述的方法, 进一步包括: 响应于所述回调频率的升高, 确定从监测 开始到回调频率升高时的时间段; 统计该时间段内获取到的回调次数; 以及计算回调次数 与所述时间段的比值以得到所述应用的帧率。 11.根据权利要求6所述的方法, 进一步包括: 响应于所述回调频率的降低, 根据降低的 回调频率计算得到所述应用的帧率。 12.一种终端应用流畅度估计系统, 其中包括: 用户行为检测模块, 经配置以在终端应用运行过程中, 检测用户对终端的操作行为; 帧率获取模块, 经配置以响应于用户操作行为引起应用界面发生的变化, 获取所述终 端应用的。
6、帧率; 以及 评估模块, 经配置至少部分基于经获取的帧率, 估计所述应用的流畅度。 13.根据权利要求12所述的系统, 其中所述帧率获取模块经配置以响应于所述用户行 为检测块在用户对终端的操作行为过程中发出的触发信号, 获取触发信号有效期间的所述 终端应用的帧率。 14.根据权利要求12所述的系统, 其中所述帧率获取模块进一步包括: 帧率监测单元, 经配置以监测所述操作行为引起的终端帧率是否发生变化, 在帧率发 生变化时记录一次帧率事件; 以及 权利要求书 1/2 页 2 CN 111444086 A 2 帧率计算单元, 经配置以响应于帧率发生变化, 计算所述终端应用的帧率。 15.根据权利要。
7、求14所述的系统, 所述帧率监测单元进一步包括: 信号获取子单元 , 经配置以 在检 测到 用 户对终 端的 操作行为时 , 监听 所述 ChoreoGrapher回调, 并记录回调次数; 计时子单元, 经配置以在开始监测时计时, 并记录每次ChoreoGrapher回调的发生时 刻; 频率计算子单元, 经配置以根据监听到的回调次数及对应的计时时间计算回调频率; 以及 频率监测子单元, 经配置以检测所述回调频率, 根据所述回调频率是否发生变化来确 定终端帧率是否发生变化, 并在回调频率变化时记录一次帧率事件。 16.根据权利要求15所述的系统, 其中, 经进一步配置, 所述频率计算子单元根据两。
8、次 回调的发生时刻确定回调时间间隔, 根据所述回调时间间隔计算每一次回调对应的回调频 率。 17.根据权利要求15所述的系统, 其中, 所述频率计算子单元经配置以通过统计单位时 间内获取的回调次数确定回调频率。 18.根据权利要求15所述的系统, 所述信号获取单元为注册在所述应用中的回调监听 器, 经配置以监听ChoreoGrapher回调。 19.根据权利要求15所述的系统, 其中所述频率监测子单元经进一步配置以在监测到 所述操作行为引起的回调频率升高时, 生成第一信号; 所述帧率计算单元经进一步配置, 在 接收到第一信号时, 计算生成第一信号前的帧率。 20.根据权利要求15所述的系统, 。
9、其中所述频率监测子单元经进一步配置以在监测到 所述操作行为引起的频率监测子单元降低时, 生成第二信号; 所述帧率计算单元经进一步 配置, 在接收第二信号时, 计算生成第二信号后的帧率。 21.根据权利要求15所述的系统, 其中所述帧率获取模块进一步包括: 数据采集单元, 经配置以在终端帧率发生时, 采集所述帧率事件的路径。 权利要求书 2/2 页 3 CN 111444086 A 3 一种终端应用流畅度估计方法和系统 技术领域 0001 本发明涉及一种互联网应用(Application,简称App)技术领域, 特别地涉及一种 基于线上用户行为的终端应用流畅度估计方法和系统。 背景技术 0002。
10、 随着互联网应用技术的发展, 提供不同功能、 满足不同需求的应用(App)为人们的 生活、 工作和学习带来了极大的便利。 提供良好的用户体验是App开发商的一个重要的密 保; 其中, App的使用流畅度是衡量用户体验的重要标准之一。 因而, 在App上线后, 能够及时 监测到App使用过程中发生的卡顿情况, 及时找到原因并解决是提高用户体验的关键。 0003 FPS(Fame per second,帧率)是流畅度的关键指标之一。 根据人眼的滞留现象, 当 显示屏的FPS小于24帧/秒时, 用户可以感受到明显的卡顿, 这种明显的卡顿会严重影响用 户的体验。 0004 目前已有一些测试App流畅度。
11、的方案。 例如使用UI来操作App, 使其运行在一些预 置场景中, 在App运行过程中, 采用adb系统工具来获取卡顿数据。 例如, 采用 adb shell dumpsys SurfaceFlinger 命令获取最近127帧的数据, 通过定期执行adb命令, 获取帧数来 计算出帧率FPS。 或者, 使用 adb shell dumpsys gfxinfo 命令即可获取最新128帧的绘制 信息, 详细包括每一帧绘制的Draw, Process, Execute三个过程的耗时, 如果这三个时间总 和超过16.6ms即认为是发生了卡顿。 0005 虽然这两种方法各有优点, 但是缺点也很明显: 很难。
12、构造实际用户卡顿的环境来 重现; 操作起来比较麻烦, 需编写自动化用例, 无法覆盖大量的可疑场景, 测试重现耗时耗 人力; 无法衡量静态页面的卡顿情况; 出现卡顿的时候app无法及时获取运行状态和信息, 开发定位困难。 发明内容 0006 针对现有技术中存在的技术问题, 本发明提出了一种终端应用流畅度估计方法和 系统, 基于线上用户对App的操作作为, 有效监测终端应用的帧率, 并估计应用流畅度。 0007 为了解决上述技术问题, 根据本发明的一个方面, 提供了一种终端应用流畅度估 计方法, 包括以下步骤: 0008 在终端应用运行过程中, 检测用户对终端的操作行为; 0009 响应于用户的操。
13、作行为引起应用界面发生的变化, 获取所述终端应用的帧率; 以 及 0010 至少部分基于经获取的帧率, 估计所述应用的流畅度。 0011 优选地, 所述方法进一步包括: 获取用户操作行为有效时间段内所述终端应用的 帧率。 0012 优选地, 所述方法进一步包括: 0013 基于用户对终端的操作行为, 监测所述操作行为引起的终端帧率是否发生变化; 说明书 1/9 页 4 CN 111444086 A 4 以及 0014 响应于帧率发生变化, 获取所述终端应用的帧率。 0015 优选地, 所述方法进一步包括: 0016 在监测到所述操作行为引起的终端帧率升高时, 获取升高前的帧率; 在监测到所 述。
14、操作行为引起的终端帧率降低时, 获取降低后的帧率。 0017 优选地, 所述方法进一步包括: 0018 在帧率发生变化时, 记录一次帧率事件, 并记录所述帧率事件的路径。 0019 优选地, 所述方法进一步包括: 0020 监测系统ChoreoGrapher回调频率; 以及 0021 响应于所述回调频率的变化, 获取所述终端应用的帧率。 0022 前述方法进一步包括: 根据ChoreoGrapher回调的发生时刻计算回调频率; 或者, 通过统计单位时间内获取的ChoreoGrapher回调次数确定回调频率。 0023 优选地, 在所述应用中创建回调监听器, 用于监听ChoreoGrapher的。
15、回调。 0024 优选地, 所述方法进一步包括: 响应于所述回调频率的升高, 确定从监测开始到回 调频率升高时的时间段; 统计该时间段内获取到的回调次数; 以及计算回调次数与所述时 间段的比值以得到所述应用的帧率。 0025 优选地, 所述方法进一步包括: 响应于所述回调频率的降低, 根据降低的回调频率 计算得到所述应用的帧率。 0026 为了解决上述技术问题, 根据本发明的一个方面, 提供了一种终端应用流畅度估 计系统, 其包括用户行为检测模块、 帧率获取模块以及评估模块。 其中, 所述用户行为检测 模块经配置以在终端应用运行过程中, 检测用户对终端的操作行为; 帧率获取模块经配置 以响应于。
16、用户操作行为引起应用界面发生的变化, 获取所述终端应用的帧率; 评估模块经 配置至少部分基于经获取的帧率, 估计所述应用的流畅度。 0027 优选地, 所述帧率获取模块经配置以响应于所述用户行为检测块在用户对终端的 操作行为过程中发出的触发信号, 获取触发信号有效期间的所述终端应用的帧率。 0028 优选地, 所述帧率获取模块进一步包括: 0029 帧率监测单元, 经配置以监测所述操作行为引起的终端帧率是否发生变化, 在帧 率发生变化时记录一次帧率事件; 以及 0030 帧率计算单元, 经配置以响应于帧率发生变化, 计算所述终端应用的帧率。 0031 优选地, 所述帧率监测单元进一步包括: 0。
17、032 信号获取子单元, 经配置以在检测到用户对终端的操作行为时, 监听所述 ChoreoGrapher回调, 并记录回调次数; 0033 计时子单元, 经配置以在开始监测时计时, 并记录每次ChoreoGrapher回调的发生 时刻; 0034 频率计算子单元, 经配置以根据监听到的回调次数及对应的计时时间计算回调频 率; 以及 0035 频率监测子单元, 经配置以检测所述回调频率, 根据所述回调频率是否发生变化 来确定终端帧率是否发生变化, 并在回调频率变化时记录一次帧率事件。 0036 优选地, 所述的系统经进一步配置, 所述频率计算子单元根据两次回调的发生时 说明书 2/9 页 5 C。
18、N 111444086 A 5 刻确定回调时间间隔, 根据所述回调时间间隔计算每一次回调对应的回调频率, 或者通过 统计单位时间内获取的回调次数确定回调频率。 0037 优选地, 所述信号获取单元为注册在所述应用中的回调监听器, 经配置以监听 ChoreoGrapher回调。 0038 优选地, 所述频率监测子单元经进一步配置以在监测到所述操作行为引起的回调 频率升高时, 生成第一信号; 所述帧率计算单元经进一步配置, 在接收到第一信号时, 计算 生成第一信号前的帧率。 0039 优选地, 所述频率监测子单元经进一步配置以在监测到所述操作行为引起的频率 监测子单元降低时, 生成第二信号; 所述。
19、帧率计算单元经进一步配置, 在接收第二信号时, 计算生成第二信号后的帧率。 0040 优选地, 所述帧率获取模块进一步包括: 数据采集单元, 经配置以在终端帧率发生 时, 采集所述帧率事件的路径。 0041 本发明基于用户的操作行为, 如触屏行为, 来区分应用界面是否静止, 本发明在应 用界面处于动态变化时进行检测帧率, 不但可以获得帧率变化时的具体帧率信息, 还能够 获取路径, 即具体的场景。 由于应用在界面动态变化时更容易给用户带来性能、 流畅度的体 验, 因而本发明既可以检测到更多直接影响用户体验的卡顿场景, 也减少了无用数据的收 集, 既提高了监测效率, 也提供了精练的监测数据, 并且。
20、提高了应用流畅度的估计准确度, 便于后续的应用开发、 升级流程。 附图说明 0042 下面, 将结合附图对本发明的优选实施方式进行进一步详细的说明, 其中: 0043 图1是根据本发明一个实施例的基于线上用户行为的应用流畅度估计方法的流程 图。 0044 图2是根据本发明一个实施例的获取帧率的方法流程图; 0045 图3是根据本发明的一个实施例的基于用户行为的终端应用帧率监测方法的流程 图; 0046 图4是根据本发明的一个实施例的VSync信号和触屏信号的关系示意图; 0047 图5是根据本发明的另一个实施例的基于用户行为的终端应用帧率监测方法的流 程图; 0048 图6是根据本发明一个实施。
21、例的基于用户行为的应用流畅度估计系统原理框图; 0049 图7是根据本发明的一个实施例的基于用户行为的终端应用帧率监测系统原理框 图; 0050 图8是根据本发明一个实施例的用户行为的应用流畅度估计系统的应用示意图; 以及 0051 图9是根据本发明的一个实施例的终端帧率监测系统应用示意图。 具体实施方式 0052 为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发明实施例 中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例是 说明书 3/9 页 6 CN 111444086 A 6 本发明一部分实施例, 而不是全部的实施例。 基于本发明中的。
22、实施例, 本领域普通技术人员 在没有做出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。 0053 在以下的详细描述中, 可以参看作为本申请一部分用来说明本申请的特定实施例 的各个说明书附图。 在附图中, 相似的附图标记在不同图式中描述大体上类似的组件。 本申 请的各个特定实施例在以下进行了足够详细的描述, 使得具备本领域相关知识和技术的普 通技术人员能够实施本申请的技术方案。 应当理解, 还可以利用其它实施例或者对本申请 的实施例进行结构、 逻辑或者电性的改变。 0054 图1是根据本发明一个实施例的基于线上用户行为的应用流畅度估计方法的流程 图。 其中, 所述方法包括: 。
23、0055 步骤S100, 在终端应用运行过程中, 检测用户对终端的操作行为。 其中, 所述的操 作行为包括任何可以引起应用界面生变化的操作, 例如, 点触屏幕、 滑动屏幕、 手势操作等。 0056 步骤S110, 响应于用户的操作行为引起应用界面发生的变化, 获取所述终端应用 的帧率。 其中, 在用户操作行为有效时来获取帧率。 例如, 当检测到用户对终端的操作行为 时, 系统生成一个从用户操作开始到用户操作结束的连续信号。 该段时间段为用户操作的 有效时间段, 本发明只获取该有效时间段内的帧率。 0057 为了能够获得有效数据, 当终端应用的帧率发生变化时再获取帧率, 并且, 只有帧 率变小时。
24、才会影响流畅度, 因而, 在本发明一个优选实施方式中, 本发明只获取帧率发生变 化时较低的帧率。 具体如图2所示: 0058 步骤S111, 监测帧率是否发生变化。 其中, 监测帧率的方法有很多种, 一种是直接 计算帧率, 监测帧率是否变化; 另一种可以监测其他可以代表帧率的中间处理信号的变化, 例如, 系统为应用请求到的同步垂直信号(VSync)的变化、 系统渲染每一帧的用时、 系统 Choreographer的回调频率等, 通过监测这些信号的变化, 均可以确定帧率的变化。 当帧率 没有发生变化时, 不做处理, 继续执行本步骤的监测。 如果发生了变化, 执行步骤S112。 0059 步骤S1。
25、12, 记录一次帧率事件, 并采集帧率事件的路径, 即在帧率变化时当前应用 正在跳转的界面顺序, 其对应应用正在进行的操作路径。 例如, 当用户点触某个阅读APP的 主界中的某个阅读材料类别时, 终端应显示该类别界面。 如果在此过程中, 检测到帧率变 化, 则所述帧率事件的路径为从主界面到该类别界面。 0060 步骤S113, 判断所述的变化是升高还是降低。 如果是升高, 则在步骤S114计算获取 升高前的帧率, 例如, 如果步骤S111监测时是直接监测帧率, 则记录较低的帧率, 如果监测 时采用其他信号间接监测帧率, 则需要根据监测到的信号进行换算, 从而得到降低的帧率。 将如果是降低, 则。
26、在步骤S115计算降低后的帧率。 0061 步骤S116, 判断用户操作行为是否持续, 如果用户操作行为仍然在持续发生, 则返 回步骤S111继续监测, 如果用户操作行为结束, 则结束本流程。 0062 步骤S120, 至少部分基于经获取的帧率, 估计所述应用的流畅度。 由于本发明是在 用户对应用进行在线操作时获得的帧率, 因而, 所述的帧率可以很好地反映出应用的流畅 度的衡量指标。 例如, 当用户在线操作应用过程中获取该过程中的由多个帧率构成的帧率 序列时, 根据获得的帧率列序中帧率数值的变化、 帧率与终端刷新率的差值、 帧率与预置卡 顿阈值的差值等维度估计出应用的流畅度。 当只获取帧率变化。
27、时的较小帧率时, 根据监测 时间、 获得的帧率数量、 帧率与终端刷新率的差值、 与帧率与预置卡顿阈值的差值等维度估 说明书 4/9 页 7 CN 111444086 A 7 计出应用的流畅度。 0063 图3是根据本发明一个实施例的基于用户行为的终端帧率监测方法的流程图。 终 端系统(如Android系统、 iOS系统)每隔一定时间(如16ms)发出VSync(垂直同步)信号用于 防止数据帧在显示时被撕裂。 在Android系统中, VSync信号相当于一个用于显示的中断信 号, 并且只提供给已注册过的接收者。 因而, 运行在终端中的App在需要显示时, 其向系统注 册该一个VSync信号接收。
28、者以请求VSync信号。 而在iOS系统中, 在VSync信号到来后, 系统图 形服务会通过CADisplayLink等机制通知App。 Choreographe是将应用程序主线程注册到显 示系统并在应用程序视图绘图组件与显示系统之间进行协调的主要组件, 其中的一个主要 功能是通过接收Vsync信号来调度应用下一帧渲染动作。 例如, 通过设置Choreographer的 FrameCallback函数, 使得每一帧在被渲染时都会触发回调FrameCallback, 再由 FrameCallback回调void doFrame(longframeTimeNanos)函数。 本实施例通过监听 Ch。
29、oreographer的回调, 根据回调的次数可以确定被渲染、 要显示的帧数, 再通过对应的时 间换算, 则可以得到帧率。 具体地, 所述方法包括: 0064 步骤S200, 检测用户对终端的触屏行为。 用户对App的流畅度通常是在用户操作时 体验到, 如App的打开、 屏幕的切换、 屏幕的滑动等。 由于用户的这些操作会引起显示内容的 变化, App主线程在CPU中计算显示内容, 并提交给GPU进行变换、 合成、 渲染, 然后存在缓存 中。 在请求到VSync信号时将内容显示到屏幕上。 因而, 屏幕是否卡顿, 帧率是否发生变化, 主要是基于用户操作行为而产生。 因而, 在本发明的实施例中, 首。
30、先检测用户对终端的触屏 行为。 例如, 通过触摸事件(TouchEvent)来检测用户的触屏行为。 通过相应的设置可以通过 触摸事件(TouchEvent)得到触摸坐标、 触摸开始时刻、 终止时刻等参数。 0065 步骤S201, 判断是否有触屏行为, 如果有, 则执行步骤S202, 如果没有则返回步骤 S200, 持续检测用户对终端的触屏行为。 0066 步骤S202, 监测系统Choreographer回调频率。 在一个实施例中, 可在所述应用中 注册Choreographer的回调监听器, 在Choreographer回调时可以监测到该动作, 从而确定 回调发生时刻及发生次数。 其中, 。
31、回调监听器每次监听到一次回调发出一个监听信号S, 如 图4所示, 图4示例性的表示了监听信号S和触屏信号H Signal的关系示意图。 当触屏事件发 生时, 提供连续的触屏信号H Signal, 直到触屏事件结束。 每一个监听信号S代表显示了一 次Choreographer回调, 其对应要显示的一帧内容。 为了获取回调频率, 在一个实施例中, 本 实施例在接收到触屏信号H Signal时开始计时, 并记录每一个监听信号S的发生时刻。 如图 4所示, 第一个监听信号S1的时刻为T1, 第二个监听信号S2的时刻为T2, 以此类推。 从计时开 始, 到时刻T1之间的时间间隔为t1T1-0, 时刻T2。
32、与时刻T1之间的时间间隔为t2T2-T1, 对时间 间隔取反则为监听信号的频率, 也就是回调频率。 例如, 第一个回调频率为1/t1, 第二个回 调频率为1/t2, 以此类推, 第n个回调频率为1/tn。 在另一个实施例中, 统计单位时间内获取 的回调次数fs, 如图4中所示的1s, 或者是100ms,来确定每一个回调频率。 0067 步骤S203, 判断回调频率是否发生变化, 如果发生了变化, 则在步骤S204, 记录一 次帧率事件, 如果没有, 则返回步骤S202, 持续监测回调频率。 0068 在判断回调频率是否发生变化时, 在一个实施例中, 对比每一个回调频率。 例如, 当得到前两个监。
33、听信号时, 对比这两个信号对应的1/t1和1/t2是否相等, 如果相等, 则说明 没有变化, 当得到第三个监听信号时, 将其对应的1/t3与1/t2(或者是1/t1)对比, 以此类推, 说明书 5/9 页 8 CN 111444086 A 8 每得到一个监听信号进行一次对比, 直到触屏信号H Signal结束或当前回调频率与之前的 回调频率不相等, 例如图4中的第n个监听的1/tn大于前述的1/tn-1。 同理, 当回调频率为单 位时间内获取的回调次数fs时, 则在得到前两个fs1和fs2时, 将二者进行对比, 如果相同, 则 在得到第三个fs3时, 将第三个fs3与前一个fs2进行对比, 以。
34、此类推, 直到触屏信号H Signal 结束或当前的fsn与前一个fsn-1不相等。 0069 如果直到触屏信号H Signal结束仍然所有回调频率都相同, 则说明当前App运行 正常, 不需要记录任何数据。 如果在触屏信号H Signal仍然存在的情况下, 回调频率发生了 变化, 如图4中所示, 在第n个监听信号开始, 回调频率升高, 说明在用户触屏的过程中, 帧率 发生了变化, 并且变化之前的帧率小于变化之后的帧率; 如果在某个监听信号开始, 回调频 率降低, 则说明变化之前的帧率高于变化之后的帧率。 帧率过小会引起卡顿现象, 从而影响 用户体验, 因而, 此时需要记录相关数据, 以便于后。
35、续分析。 0070 在步骤S204中, 除了记录一次帧率事件, 还获取相关数据, 如该次帧率事件的帧 率、 路径等数据。 其中, 所述帧率可根据回调频率的升高或降低做不同的计算。 如果所述回 调频率升高, 说明变化之前的帧率低, 本发明计算较低的帧率, 因而, 计算信号回调频率的 升高之前的帧率。 在一个实施例中, 确定从监测开始到回调频率升高时的时间段, 如图4所 示, 计算到时刻Tn-1的时间段; 然后统计该时间段内获取到的监听信号数量fn; 再计算监听 信号数量fn与所述时间段的比值, 再经过单位换算得到该帧率事件的帧率。 如果回调频率 降低, 要获取变低之后的帧率, 在另一个实施例中,。
36、 可根据降低的回调频率计算得到该帧率 事件的帧率。 例如, 对降低的回调频率进行单位换算即可以得到帧率。 0071 所述帧率事件的路径, 包括当前应用正在进行的操作路径, 如从应用主界面到某 个分页界面。 以 “微信” 为例, 从 “通讯录” 到其中一个 “联系人” 会话界面; 或者, 从主界面到 “订阅号” 界面等。 0072 如图5所示, 为根据本发明另一个实施例的终端应用帧率监测方法的流程图, 所述 实施例提供的方法包括: 0073 步骤S200a, 检测用户对终端的触屏行为。 0074 步骤S201a, 判断是否有触屏行为, 如果有, 则执行步骤S202a, 如果没有则返回步 骤S20。
37、0a, 持续检测用户对终端的触屏行为。 0075 步骤S202a, 监测所述应用响应的回调频率。 0076 步骤S203a, 判断回调频率是否发生变化时, 如果回调频率发生了变化, 则执行步 骤S204a; 如果回调频率没有变化, 转到步骤S205a。 0077 步骤S204a, 记录一次帧率事件, 并计算回调频率较低时对应的帧率, 并采集事件 路径。 0078 步骤S205a, 判断用户是否仍然在触摸屏幕, 即图4中的触屏信号H Signal是否还 在, 如果还在, 则转到步骤S202a, 继续进行监测。 如果用户已不再触摸屏幕, 则结束流程。 0079 本实施例与图3所述方法的不同在于, 。
38、增加了对监测过程中用户是否仍然在触摸 屏幕的判断, 以便在用户触屏行为结束时, 结束监测过程。 并且, 通过用户是否仍然在触摸 屏幕的判断, 在记录一次帧率事件后, 可以继续监测, 以便发现新的帧率事件。 0080 图6是根据本发明一个实施例的基于用户行为的应用流畅度估计系统原理框图。 所述系统包括: 用户行为检测模块1a、 帧率获取模块2a和评估模块3a。 其中, 用户行为检测 说明书 6/9 页 9 CN 111444086 A 9 模块1a、 帧率获取模块2a位于用户终端, 评估模块3a可分为两种, 一种是位于用户终端上, 用记估计该用户的应用流畅度, 另一种是位于应用服务端, 根据有该。
39、应用所有用户收集、 上 报的帧率数据来估计所述应用的流畅度。 在用户终端中, 用户行为检测模块1a用于在终端 应用运行过程中, 检测用户对终端的操作行为。 具体地, 可通过注册对应的操作事件来获取 用户的操作行为。 在检测到用户的操作行为时, 可生成连续的操作信号作为触发信号, 直到 用户的操作行为结束。 所述帧率获取模块2a用以响应于用户操作行为引起应用界面发生的 变化, 获取所述终端应用的帧率。 例如, 所述帧率获取模块2a接收到用户行为检测模块1a发 生的触发信号时, 所述帧率获取模块获取触发信号期间的所述终端应用的帧率。 当在一个 实施例中, 其中所述帧率获取模块2a进一步包括帧率监测。
40、单元21a、 帧率计算单元22a和可 选的数据采集单元23a。 其中, 帧率监测单元21a用以监测所述操作行为引起的终端帧率是 否发生变化, 在帧率发生变化时记录一次帧率事件。 例如, 在监测到所述操作行为引起的终 端帧率升高时, 生成第一信号; 在监测到所述操作行为引起的终端帧率降低时, 生成第二信 号。 所述第一帧率计算单元22用以响应于帧率发生变化, 计算所述终端应用的帧率。 例如, 在接收到第一信号时, 计算生成第一信号前的帧率; 在接收第二信号时, 计算生成第二信号 后的帧率。 所述数据采集单元23a用以在终端帧率发生时, 采集所述帧率事件的路径。 所述 评估模块3a至少部分基于经获。
41、取的帧率, 估计所述应用的流畅度。 例如, 在帧率获取模块2a 获取到由多个帧率构成的帧率序列时, 从帧率列序中帧率数值的变化、 帧率与终端刷新率 的差值、 帧率与预置卡顿阈值的差值等维度估计出应用的流畅度。 当帧率获取模块2a只获 取帧率变化时的较小帧率时, 根据监测时间、 获得的帧率数量、 帧率与终端刷新率的差值、 与帧率与预置卡顿阈值的差值等维度估计出应用的流畅度。 0081 图7是根据本发明一个实施例的基于用户行为的终端帧率监测系统原理框图, 其 中所述系统包括触屏检测模块1、 回调监测模块2和帧率事件模块3。 其中, 在应用运行过程 中, 所述触屏检测模块1用以检测用户对终端的触屏行。
42、为。 例如, 通过注册触摸事件 (TouchEvent), 可以检测到用户是否触摸屏幕, 并且可生成触屏信号H Signal。 其中, 所述 终端帧率监测系统为图6中位于用户终端的用户行为检测模块1a和帧率获取模块2a的一个 具体实施例。 0082 回调监测模块2与所述触屏检测模块1相连接, 用以在检测到用户对终端的触屏行 为时, 监测Choreographe回调频率。 其中, 在一个实施例中, 所述回调监测模块2包括: 信号 获取单元21、 计时单元22和频率计算单元23, 在一个具体实施方式中, 所述的信号获取单元 21可以为在所述应用中注册的Choreographe回调监听器。 通过该监。
43、听器可以检测到 Choreographe的回调发生情况, 在Choreographe回调时, 发出一个监听信号。 计时单元22在 接收到触屏信号H Signal时开始计时, 其中, 根据计算回调频率方法的不同, 计时单元22可 采用不同的计时方式。 例如, 所述计时单元22经配置以对每两个监听信号的时间间隔计时, 从而得到如图4中的t1、 t2、 tn等。 或者是记录每一个监听信号的时刻, 如T1、 T2、 Tn等, 通过计 算相邻两个监听信号的时刻来得到时间间隔; 对应的, 所述频率计算单元23根据时间时隔 计算回调频率。 例如, 第一个回调频率为1/t1, 第二个回调频率为1/t2。 或者。
44、, 所述计时单元 22每次计时一个预定的时间单位时间, 如1s或1ms等, 将其发送给所述频率计算单元23, 所 述频率计算单元23统计每个单位时间内获取的回调次数, 从而确定回调频率。 0083 在一个实施例中, 所述帧率事件模块3包括帧率计算单元31、 事件数据采集单元32 说明书 7/9 页 10 CN 111444086 A 10 和数据处理单元33。 其中, 所述的数据处理单元33接收回调监测模块2计算的回调频率。 当 接收到两个回调频率时, 比较这两个回调频率是否相等, 如果相等, 则等待下一个回调频 率。 当又接收到新的回调频率时, 将其与之前的回调频率进行对比, 如果二者不相等。
45、, 则说 明帧率发生了变化, 记录一次帧率事件, 并向帧率计算单元31和事件数据采集单元32发送 事件通知。 帧率计算单元31计算帧率, 并将计算得到的帧率返回给数据处理单元33。 事件数 据采集单元32接收到事件通知后, 采集当前应用正在进行的操作, 以确定路径, 并将其发送 给数据处理单元33。 数据处理单元33记录所述帧率计算单元31计算的帧率及事件数据采集 单元32采集的路径。 0084 其中, 数据处理单元33将确定的帧率事件及其路径、 帧率等数据记录到终端应用 文件系统中的用户日志中, 应用将用户日志定期发送到其服务端。 0085 在一个具体实施方式中, 所述数据处理单元33通过比。
46、较得到当前回调频率与之前 的回调频率不相等时, 还要进一步判断二者的大小, 如果当前回调频率大于之前的回调频 率, 则说明回调频率升高, 此时, 所述数据处理单元33记录一次帧率事件, 并在向所述帧率 计算单元31发送的事件通知中包括计算之前帧率的信息。 如果当前回调频率小于之前的回 调频率, 则说明回调频率降低, 则在向所述帧率计算单元31发送的事件通知中包括计算之 后帧率的信息。 0086 所述帧率计算单元31接收到事件通知后, 根据事件通知里的信息计算相应的帧 率。 例如, 如果事件通知里包含的信息是计算升高之前帧率的内容, 则所述帧率计算单元31 获取回调监测模块2中的计时单元22计时。
47、的从监测开始到回调频率升高时的时间段, 如图2 所示, 将各个时间段相加, 如tt1+t2+tn-1, 并统计回调监测模块2的信号获取单元21获 取到的监听信号数量F, 对二者作除法运算FsF/t, 并将时间单位换算成秒, 则得到帧率 FPS。 如果事件通知里包含的信息是计算降低之后帧率的内容, 可以根据当前回调频率换算 得到, 如对第n个回调频率1/tn进行时间单位的换算, 从而得到帧率FPS。 0087 图8是根据本发明一个实施例的用户行为的应用流畅度估计系统的应用示意图。 在所述实施例中, 所述应用流畅度估计系统的评估模块位于应用服务端, 用户行为检测模 块和帧率获取模块位于用户终端。 。
48、每个用户终端中的检测模块和帧率获取模块分别执行图 6中的功能, 所述帧率获取模块将获得的帧率、 帧率事件路径等数据发送到应用服务端的评 估模块中, 评估模块根据接收到数据及预置评估策略估计该应用的流畅度。 0088 图9是根据本发明一个实施例的终端帧率监测系统应用示意图。 所述终端帧率监 测系统对应于图8中位于用户终端上的用户行为检测模块和帧率获取模块。 对于一个用户 终端来说, 其内部可能安装有很多个App, 本实施例提供的帧率监测系统除了可以监测一个 应用的帧率情况外, 还可以监测每一个应用在用户使用过程中的帧率情况。 0089 每一个应用与帧率监测系统相连接。 当有应用启动后, 帧率监测。
49、系统检测用户的 触屏操作, 并根据当前屏幕内容确定哪个应用。 在监测到帧率事件后, 将帧率事件及对应的 帧率、 事件路径等数据记录到该应用的用户日志中, 终端的用户日志根据其管理策略实时 或定时地上传到其服务端。 0090 本发明基于用户的操作行为, 如触屏行为, 来区分应用界面的是否静止, 本发明在 应用的界面处于动态变化时进行检测帧率, 不但可以获得帧率变化时的具体帧率信息, 还 能够获取路径, 即具体的场景。 由于应用在界面动态变化时更容易给用户带来性能、 流畅度 说明书 8/9 页 11 CN 111444086 A 11 的体验, 因而本发明既可以检测到更多直接影响用户体验的卡顿场景。
50、, 也减少了无用数据 的收集, 既提高了监测效率, 也提供了精练的监测数据, 并且提高了应用流畅度的估计准确 度, 便于后续的应用开发、 升级流程。 0091 上述实施例仅供说明本发明之用, 而并非是对本发明的限制, 有关技术领域的普 通技术人员, 在不脱离本发明范围的情况下, 还可以做出各种变化和变型, 因此, 所有等同 的技术方案也应属于本发明公开的范畴。 说明书 9/9 页 12 CN 111444086 A 12 图1 图2 说明书附图 1/5 页 13 CN 111444086 A 13 图3 图4 说明书附图 2/5 页 14 CN 111444086 A 14 图5 说明书附图 。
- 内容关键字: 终端 应用 流畅 估计 方法 系统
馈纸式文档扫描仪.pdf
植物补光灯控制电路和植物补光灯.pdf
冷却装置.pdf
储能模组、储能装置及用电设备.pdf
交直流高压电容器放电电路.pdf
带有中位锁止和提升回位功能的液压多路阀.pdf
输液杆外设供电线缆的收纳结构.pdf
车用尿素溶液生产的投料装置.pdf
复合外墙保温板和方便拼接的复合外墙.pdf
高硬度石材表面抛光装置.pdf
文胸模杯打孔装置.pdf
电磁干粉除铁器用布料装置.pdf
立体式离心筛.pdf
车底.pdf
用于树状空间节点试验的反力架装置.pdf
建筑节能外墙保温装饰板结构.pdf
便于温度调整的微生物离心设备.pdf
应用于钻柱内孔的泥浆过滤设备.pdf
铝合金门窗尺寸检测装置.pdf
肥料快速发酵装置.pdf
侧斜防撞型充电桩.pdf
柑橘栽种装置.pdf
用于高压传感器连接器的激光焊接工装.pdf
大豆种植根瘤菌剂接种装置.pdf
铝塑废料中铝箔分离设备以及方法.pdf
视频转码调度方法、装置、可读存储介质、电子设备.pdf
有机液体存储罐脱氢反应器.pdf
地坪研磨机齿轮箱多驱系统.pdf
溜槽防堵及检测装置.pdf
用于换热器铜管扩口机构.pdf
衣柜板材自动上下料装置及其方法.pdf
乳清蛋白的制备方法和乳清蛋白饮料.pdf
图像验证码的生成方法及装置.pdf
翼子板制件回弹尺寸控制方法.pdf
无线模块的驱动方法及装置、无线模块、终端及存储介质.pdf
语音唤醒方法及装置.pdf
语音通话的智能质检方法及系统.pdf
动物行为智能分析装置.pdf
聚氨酯改性有机硅消泡剂、制备方法及应用.pdf
定位方法及装置、计算机可读存储介质、电子设备.pdf
用于伺服电机测试使用的弹性联轴器.pdf
服务器信息配置方法、装置、设备.pdf
手机盖板玻璃3D抛光刷生产方法.pdf
激光混沌系统同步控制方法.pdf
机器人行进的控制方法、装置、电子设备、介质和机器人.pdf
内窥镜系统.pdf
防止电力机车线路网络二次跳闸的快速开关.pdf
客户端预取数据的方法、存储介质.pdf
半导体器件及其制造方法.pdf
绝缘间隔结构及使用该结构的汇流箱母排安装方法.pdf
全局电缆温度监测报警系统及其工作方法.pdf
相关文档
更多![汽车翼子板模具.pdf](/Images/s.gif)
![土木工程组合桩.pdf](/Images/s.gif)
![基于区块链的通信鉴权方法、装置、终端设备和存储介质.pdf](/Images/s.gif)
![文本纠错方法.pdf](/Images/s.gif)
![燃气热水器.pdf](/Images/s.gif)
![使用无人机搭载湿度计测量管道泄漏方法.pdf](/Images/s.gif)
![基于石材边角料制备荷兰砖的生产工艺.pdf](/Images/s.gif)
![带软启动的耗尽管基准电路.pdf](/Images/s.gif)
![超声回波成像方法、装置、计算机设备及存储介质.pdf](/Images/s.gif)
![物料加工用机械碎化装置.pdf](/Images/s.gif)
![光固化3D打印方法及打印系统.pdf](/Images/s.gif)
![视频分类方法、装置及计算机可读存储介质.pdf](/Images/s.gif)
![超声结构.pdf](/Images/s.gif)
![防滑脱的麦拉片.pdf](/Images/s.gif)
![上下模不同胎圈直径的轮胎及其制造方法.pdf](/Images/s.gif)
![粉煤灰综合处理工艺.pdf](/Images/s.gif)
![具有冷却机构的机油泵.pdf](/Images/s.gif)
![自动按摩搓澡器.pdf](/Images/s.gif)
![基于城市施工现场污水的处理中转装置.pdf](/Images/s.gif)
![半导体器件加工设备.pdf](/Images/s.gif)