【技术实现步骤摘要】
用于终端的应用程序无响应检测方法、装置及电子设备
本专利技术涉及计算机
,具体涉及一种用于终端的应用程序无响应检测方法、装置、电子设备及可读存储介质。
技术介绍
如果应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ApplicationNotResponding,ANR)对话框。用户可以选择“等待”而让应用程序继续运行,也可以选择“强制关闭”。而在实际应用中,随着终端设备的功能越来越丰富,在同一移动终端一般会同时启动多个应用程序,并且可能在多个应用程序之间来回切换。在现有的ANR检测方案中,通过从子线程向主线程发消息,如果主线程在一定时间内没有收到回调,就确认是ANR。但是在多进程环境下,在前后台切换的情况下,通过上述方案则容易出现ANR误报的情况。从而影响ANR检测的准确性,同时影响用户的正常使用。
技术实现思路
本专利技术提供一种用于终端的应用程序无响应检测方法、装置、电子设备及可读存储介质,以部分或全部解决现有技术中应用程序无响应检测过程相关的 ...
【技术保护点】
1.一种用于终端的应用程序无响应检测方法,包括:/n获取与终端当前的前台进程对应的目标应用程序;/n根据所述目标应用程序,获取用以启动所述前台进程的主线程;/n基于所述主线程,对所述目标应用程序进行应用程序无响应检测。/n
【技术特征摘要】
1.一种用于终端的应用程序无响应检测方法,包括:
获取与终端当前的前台进程对应的目标应用程序;
根据所述目标应用程序,获取用以启动所述前台进程的主线程;
基于所述主线程,对所述目标应用程序进行应用程序无响应检测。
2.根据权利要求1所述的方法,其特征在于,所述获取与终端当前的前台进程对应的目标应用程序的步骤,包括:
针对终端中的每个处于启动状态的应用程序对应的进程,通过匿名共享内存的方式,将各个所述进程的进程地址空间映射到共享内存中;
通过所述共享内存中的共享内存数据,获取包括当前所有存活进程在内的进程列表;
基于所述进程列表,获取与所述终端当前的前台进程对应的目标应用程序。
3.根据权利要求1所述的方法,其特征在于,所述基于所述主线程,对所述目标应用程序进行应用程序无响应检测的步骤,包括:
检测所述终端的跟踪日志文件是否发生变化;
响应于所述终端的跟踪日志文发生变化,确认所述前台进程发生应用程序无响应,并获取所述主线程的堆栈信息;
基于所述堆栈信息,获取所述前台进程的应用程序无响应原因。
4.根据权利要求3所述的方法,其特征在于,在所述基于所述主线程,对所述目标应用程序进行应用程序无响应检测的步骤之后,还包括:
响应于所述目标应用程序发生应用程序无响应,针对所述目标应用程序进行应用程序无响应提示,并显示所述应用程序无响应原因。
5.根据权利要求3所述的方法,其特征在于,所述检测所述终端的跟踪日志文件是否发生变化的步骤,包括:
读取所述终端当前的跟踪日志文件;
相对于前一次读取得到的跟踪日志文件,检测当前读取得到的所述跟踪日志文件的文件大小和/或被修改时间是否发生变化;
响应于当前读取得到的所述跟踪日志文件的文件大小和/或被修改时间是否发生变化,确认所述终端的跟踪日志文件发生变化。
6.一种用于终端的应用程序无响应检测装置,包括:
目标应用程序确定模块,用于获取与终端当前的前台进程对应的目标应用程序;
主线程获取模块,用于根据所述目标应用程序,获取用以启动所述前台进程的主线程;
应用程序无响应检测模块,用于基于所述主线程,对所述目标应用程序进行应用程序...
【专利技术属性】
技术研发人员:赵欢欢,许圣霖,
申请(专利权)人:北京三快在线科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。