[发明专利]ANR实时监控方法、装置、终端和存储介质在审
申请号: | 201810370705.0 | 申请日: | 2018-04-24 |
公开(公告)号: | CN108572906A | 公开(公告)日: | 2018-09-25 |
发明(设计)人: | 涂勇 | 申请(专利权)人: | 广州优视网络科技有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F9/54 |
代理公司: | 北京市立方律师事务所 11330 | 代理人: | 刘延喜 |
地址: | 510640 广东省广州市天河区黄埔大*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 主线程 存储介质 关键信息 启动接口 实时监控 终端 实时监控装置 实时收集 应用程序 主动监控 时间点 检测 回调 上传 预设 还原 反馈 修复 | ||
本发明提供一种ANR实时监控方法,包括以下步骤:在待检测应用程序的主线程中启动接口;从所述启动接口的时间点起,经过预设时间后,检测所述接口是否接收到消息回调信息;若否,确定所述主线程发生ANR;在确定所述主线程发生ANR时,获取所述主线程的信息;根据所述主线程的信息,形成ANR关键信息;将所述ANR关键信息上传系统。通过本发明技术方案的实施,通过实时主动监控ANR,解决了由于ANR问题无法实时收集反馈,导致无法还原和修复的问题。本发明还提供了一种ANR实时监控装置、终端和存储介质。
技术领域
本发明涉及计算机技术领域,具体而言,本发明涉及一种ANR实时监控方法、装置、终端和存储介质。
背景技术
在安卓系统上,当用户的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,或选择“强制关闭”而让程序停止运行。对此,一个流畅的合理的应用程序中不能出现ANR的问题,而让用户每次处理应用程序无响应对话框。因此,要保证系统不会向用户显示ANR问题,应用程序的设计中响应性能的设计尤为重要。但是安卓系统的开发中系统框架并未提供接口监听ANR发生的时间节点,而仅在本机“/data/anr/”目录下生成一个类似traces.txt文件,导致很多线上ANR问题无法实时采集反馈处理,最终使得ANR问题无法还原和修复,用户体验不佳。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的ANR实时监控方法、装置、终端和存储介质。
第一方面,本发明提供一种ANR实时监控方法,包括以下步骤:
在待检测应用程序的主线程中启动接口;
从所述启动接口的时间点起,经过预设时间后,检测所述接口是否接收到消息回调信息;若否,确定所述主线程发生ANR;
在确定所述主线程发生ANR时,获取所述主线程的信息;
根据所述主线程的信息,形成ANR关键信息;
将所述ANR关键信息上传系统。
结合第一方面,本发明在第一方面的第一种实施方式中,所述在待检测应用程序的主线程中启动接口,包括以下步骤:
在待检测应用程序的主线程中启动Runnable接口;
采用消息回调机制,调用子线程向主线程发送消息。
结合第一方面的第一种实施方式,本发明在第一方面的第二种实施方式中,所述从所述启动接口的时间点起,经过预设时间后,检测所述接口是否接收到消息回调信息;若否,确定所述主线程发生ANR,包括以下步骤:
设置计数器在所述接口接收到消息回调信息时加1;
从所述启动接口的时间点起,经过预设时间后,判断当前计数器的计数值是否有所变化,若否,确定所述主线程发生ANR。
结合第一方面或结合第一方面的第二种实施方式,本发明在第一方面的第三种实施方式中,所述从所述启动接口的时间点起,经过预设时间后,检测所述接口是否接收到消息回调信息;若否,确定所述主线程发生ANR,还包括以下步骤:
若是,返回继续所述在待检测应用程序的主线程中启动接口的步骤。
结合第一方面,本发明在第一方面的第四种实施方式中,所述在确定所述主线程发生ANR时,获取所述主线程的信息,包括以下步骤:
在发生ANR的时间点,调用子线程收集当前所述主线程的信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州优视网络科技有限公司,未经广州优视网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810370705.0/2.html,转载请声明来源钻瓜专利网。