[发明专利]应用检测方法、装置、设备以及存储介质有效
申请号: | 202011470185.4 | 申请日: | 2020-12-15 |
公开(公告)号: | CN112559231B | 公开(公告)日: | 2023-10-03 |
发明(设计)人: | 李享 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 北京猷德知识产权代理有限公司 16084 | 代理人: | 范继晨 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用 检测 方法 装置 设备 以及 存储 介质 | ||
1.一种应用检测方法,包括:
基于应用的每帧绘制间隔、主线程消息的执行信息和主线程调用栈,得到卡顿数据;
基于所述卡顿数据,得到所述应用的卡顿原因。
2.根据权利要求1所述的方法,其特征在于,基于应用的每帧绘制间隔、主线程消息的执行信息和主线程调用栈,得到卡顿数据,包括:
基于所述每帧绘制间隔和卡顿阈值,从所述主线程消息的执行信息和主线程调用栈中筛选得到达到卡顿阈值的卡顿数据。
3.根据权利要求2所述的方法,其特征在于,基于所述每帧绘制间隔和卡顿阈值,从所述主线程消息的执行信息和主线程调用栈中筛选得到达到卡顿阈值的卡顿数据,包括:
在第N帧绘制间隔大于卡顿阈值的情况下,基于第N帧的绘制开始时间戳和绘制结束时间戳,获取处于所述绘制开始时间戳和绘制结束时间戳之间的主线程消息的执行信息和主线程调用栈,N为大于或等于0的整数。
4.根据权利要求1所述的方法,其特征在于,基于所述卡顿数据,得到所述应用的卡顿原因,包括:
基于所述卡顿数据生成用于表示所述应用的卡顿原因的日志树。
5.根据权利要求4所述的方法,其特征在于,基于所述卡顿数据生成用于表示所述应用的卡顿原因的日志树,包括:
基于处于所述每帧绘制间隔的绘制开始时间戳和绘制结束时间戳之间的所述应用执行的各任务及其耗时信息生成第一级节点;
基于执行各任务所需的项目及其对应的耗时信息生成第二级节点;
基于所述第一级节点和所述第二级节点,生成所述日志树,其中所述第二级节点为所述第一级节点的子节点。
6.根据权利要求1至5中任一项所述的方法,其特征在于,还包括:
基于系统垂直同步信号获取所述每帧绘制间隔。
7.根据权利要求1至5中任一项所述的方法,其特征在于,还包括:
获取应用的主线程消息的执行信息,所述主线程消息的执行信息包括所述主线程消息执行的各任务及其对应的耗时信息。
8.根据权利要求1至5中任一项所述的方法,其特征在于,还包括:
采用抽样轮询的方式获取应用的主线程调用栈,所述主线程调用栈中包括执行各所述任务所需的项目及其对应的耗时信息。
9.根据权利要求1至5中任一项所述的方法,其特征在于,还包括:
通过时间戳对所述每帧绘制间隔、所述主线程消息的执行信息和所述主线程调用栈进行匹配。
10.根据权利要求1至5中任一项所述的方法,其特征在于,所述每帧绘制间隔、所述主线程消息的执行信息通过主线程获取,所述主线程调用栈通过异步线程获取;
所述异步线程还用于执行得到卡顿数据和卡顿原因的步骤。
11.一种应用检测装置,包括:
第一获取模块,用于基于应用的每帧绘制间隔、主线程消息的执行信息和主线程调用栈,得到卡顿数据;
处理模块,用于基于所述卡顿数据,得到所述应用的卡顿原因。
12.根据权利要求11所述的装置,其特征在于,所述第一获取模块包括:
筛选子模块,用于基于所述每帧绘制间隔和卡顿阈值,从所述主线程消息的执行信息和主线程调用栈中筛选得到达到卡顿阈值的卡顿数据。
13.根据权利要求12所述的装置,其特征在于,所述筛选子模块具体用于在第N帧绘制间隔大于卡顿阈值的情况下,基于第N帧的绘制开始时间戳和绘制结束时间戳,获取处于所述绘制开始时间戳和绘制结束时间戳之间的主线程消息的执行信息和主线程调用栈,N为大于或等于0的整数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011470185.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于RFID的倾斜物体检测方法
- 下一篇:一种N进制数值的演示方法