[发明专利]一种应用卡顿的检测方法及装置在审
申请号: | 201710083350.2 | 申请日: | 2017-02-16 |
公开(公告)号: | CN108446199A | 公开(公告)日: | 2018-08-24 |
发明(设计)人: | 丘立斌;吕承飞 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 李辉 |
地址: | 英属开曼*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 循环系统 应用卡 休眠过程 次循环 预设 获取目标 循环执行 预设动作 目标线 时间段 检测 漏检 线程 申请 | ||
本申请实施例公开了一种应用卡顿的检测方法及装置。所述方法包括:获取目标线程的事件循环系统在单次循环中执行预设动作的第一时刻,所述预设动作为所述事件循环系统循环执行过程中的执行动作;根据所述第一时刻计算所述事件循环系统在所述单次循环中的卡顿时段;若所述卡顿时段大于第一预设阈值,则确定所述目标线程处于卡顿状态。利用本申请方法或装置实施例,可以计算得到更加准确的卡顿时段,不会忽略事件循环系统休眠过程中执行任务的时间段,因而不会漏检休眠过程中之间发生的应用卡顿。
技术领域
本申请涉及应用卡顿技术领域,特别涉及一种应用卡顿的检测方法及装置。
背景技术
应用卡顿一般是指用户在应用上操作时出现的与应用界面交互响应比较缓慢的现象,例如浏览页面、视频播放不顺畅,严重时甚至出现用户界面卡住不动等现象。为了能够消除应用卡顿所引起的现象,一些操作系统中设置有系统监视模块,例如Linux系统的“看门狗”(watchdog)机制,当应用的卡顿时间超过预定时间时,系统监视模块一般会强制断开所述应用的进程,造成应用的闪退。此时,对用户来说,对所述应用甚至所述设备的体验很不好。
应用卡顿的产生原因有多种,例如,主线程死锁,即,主线程获取了锁a,需要锁b,这时另外一个线程获取到了锁b,需要锁a,在循环等待过程中造成了主线程的卡顿。再如,主线程频繁的输入/输出操作、主线程执行大量的界面绘制或者计算任务、主线程发送网络请求传递数据到服务器时发生异常情况等事件都会造成应用的卡顿。
上述问题造成的应用卡顿甚至应用闪退往往是很难定位原因的,因此,现有技术中亟需一种简便、快速的检测应用卡顿的方法。
发明内容
本申请实施例的目的在于提供一种应用卡顿的检测方法及装置,可以提高应用卡顿时间的计算精确度。
本申请实施例提供的一种应用卡顿的检测方法及装置具体是这样实现的:
一种应用卡顿的检测方法,所述方法包括:
获取目标线程的事件循环系统在单次循环中执行预设动作的第一时刻,所述预设动作为所述事件循环系统循环执行过程中的执行动作;
根据所述第一时刻计算所述事件循环系统在所述单次循环中的卡顿时段;
若所述卡顿时段大于第一预设阈值,则确定所述目标线程处于卡顿状态。
一种应用卡顿的检测装置,所述装置包括:
第一时刻获取单元,用于获取目标线程的事件循环系统在单次循环中执行预设动作的第一时刻,所述预设动作为所述事件循环系统循环执行过程中的执行动作;
卡顿时段计算单元,用于根据所述第一时刻计算所述事件循环系统在所述单次循环中的卡顿时段;
卡顿确定单元,用于若所述卡顿时段大于第一预设阈值,则确定所述目标线程处于卡顿状态。
本申请提供的应用卡顿的检测方法及装置,可以根据目标线程的事件循环系统在单次循环中执行预设动作的时刻、进入休眠状态的起始时刻,计算得到所述事件循环系统在所述单次循环中的卡顿时段。本申请方法可以解决现有技术中的两个技术问题,原因如下:所述执行预设动作的时刻作为所述事件循环系统在单次循环的起始时刻,那么在下一次循环中执行所述预设动作的时刻可以作为上一次循环过程的终止时刻,从整个循环执行过程来看,所述起始时刻到终止时刻的时间段包含整个循环执行的时间段。相对于现有技术方法,本实施例方法计算得到的卡顿时段更加准确,不会忽略阶段4到阶段5之间休眠过程中执行任务的时间段,因而不会漏检所述阶段4到阶段5之间发生的应用卡顿。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710083350.2/2.html,转载请声明来源钻瓜专利网。