文件名称:ANRCatcher:一种判断是否发生ANR的方法
文件大小:10.16MB
文件格式:ZIP
更新时间:2024-05-29 17:50:09
Java
A way to Catch ANR Info 捕获ANR和捕获应用异常是不同的,应用异常crash是会通过主线程设置的UncaughtExceptionHandler来进行捕获处理。而ANR并没有一个完整的抛出点,所以我们需要另辟蹊径。 MainThread、Looper、Handler、MessageQueue、ActivityThread 在进行分析之前如何进行ANR的捕获前,这里需要对MainThread、Looper、Handler、MessageQueue、ActivityThread这几个类之间的关系做一个介绍,这个将是我们进行ANR捕获的一个关键点。 一切的开始--创建ActivityThread 在AMS启动组件时,发现其将运行所在的进程不存在时,会调用AMS的方法来创建一个新的ActivityThread,作为此组件将要运行的进程。 在创建ActivityThread时