[发明专利]用于检测应用程序的方法和装置有效
申请号: | 201910248655.3 | 申请日: | 2019-03-29 |
公开(公告)号: | CN109960659B | 公开(公告)日: | 2022-11-01 |
发明(设计)人: | 尹健刚;李明德;宋晔 | 申请(专利权)人: | 阿波罗智联(北京)科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F11/30;G06F9/54 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100176 北京市大兴区北京经*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 检测 应用程序 方法 装置 | ||
本申请实施例公开了用于检测应用程序的方法和装置。该方法的一具体实施方式包括:执行阻塞检测步骤:记录预设标识的名称和值,向主线程发送具有预设标识的名称的消息,其中,预设标识的值能被主线程修改;间隔预设时长后确定预设标识的值是否改变;若未改变,确定主线程阻塞。该实施方式能够检测ANR,有助于定位、分析ANR问题。
技术领域
本申请实施例涉及计算机技术领域,具体涉及用于检测应用程序的方法和装置。
背景技术
ANR,即Application Not Responding,也称为应用程序无响应。
例如,在安卓(Android)系统中,一些事件需要在一定的时长内完成,如果超过预定时长未能得到有效响应或者响应时间过长,都会造成ANR。如果因为一些耗时操作造成主线程阻塞超过预设的时长,那么系统就会显示ANR对话框,以提示用户对应的应用处于无响应状态。
当出现ANR时,系统会将应用程序的进程堆栈信息存储到本地的文件中(例如,“/data/anr/”目录下的traces.txt文件)。通常情况下,开发人员无法实时获取到出现ANR的进程堆栈信息,从而使得有些ANR无法还原和修复。
发明内容
本申请实施例提出了用于检测应用程序的方法和装置。
第一方面,本申请实施例提供了一种用于检测应用程序的方法,该方法包括:执行阻塞检测步骤:记录预设标识的名称和值,向主线程发送具有预设标识的名称的消息,其中,预设标识的值能被主线程修改;间隔预设时长后确定预设标识的值是否改变;若未改变,确定主线程阻塞。
在一些实施例中,该方法还包括:若预设标识的值未改变,获取主线程的堆栈信息,以及将堆栈信息上传到服务器。
在一些实施例中,该方法还包括:若预设标识的值已改变,再次执行阻塞检测步骤。
在一些实施例中,向主线程发送具有预设标识的名称的消息,包括:调用在主线程中创建的消息传递对象发送具有预设标识的名称的消息,其中,消息传递对象用于将发送的消息压入主线程的消息队列中。
在一些实施例中,主线程被配置成:响应于具有预设标识的名称的消息从主线程的消息队列中被取出,改变预设标识的值。
在一些实施例中,间隔预设时长后确定预设标识的值是否改变,包括:休眠预设时长;确定预设标识的值是否改变。
第二方面,本申请实施例提供了一种用于检测应用程序的装置,该装置包括阻塞检测单元。其中,阻塞检测单元被配置成执行阻塞检测步骤:记录预设标识的名称和值,向主线程发送具有预设标识的名称的消息,其中,预设标识的值能被主线程修改;间隔预设时长后确定预设标识的值是否改变;若未改变,确定主线程阻塞。
在一些实施例中,该装置还包括:上报单元,被配置成若预设标识的值未改变,获取主线程的堆栈信息,以及将堆栈信息上传到服务器。
在一些实施例中,该装置还包括:再次执行单元,被配置成若预设标识的值已改变,再次执行阻塞检测步骤。
在一些实施例中,向主线程发送具有预设标识的名称的消息,包括:调用在主线程中创建的消息传递对象发送具有预设标识的名称的消息,其中,消息传递对象用于将发送的消息压入主线程的消息队列中。
在一些实施例中,主线程被配置成:响应于具有预设标识的名称的消息从主线程的消息队列中被取出,改变预设标识的值。
在一些实施例中,间隔预设时长后确定预设标识的值是否改变,包括:休眠预设时长;确定预设标识的值是否改变。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿波罗智联(北京)科技有限公司,未经阿波罗智联(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910248655.3/2.html,转载请声明来源钻瓜专利网。