记录第一次排查ANR经历

本文详细介绍了如何通过Logcat和traces.txt文件诊断并解决Android应用程序中的ANR(应用无响应)问题,包括获取和分析关键日志信息的步骤。

第一步:找到logcat中的报错记录

E/ActivityManager: ANR in com.example.testapp (com.example.testapp/.CrashTestActivity)
     PID: 2480
     Reason: Input dispatching timed out (Waiting because the touched window has not finished processing the input events that were previously delivered to it.)
     Load: 0.06 / 0.08 / 0.05
     CPU usage from 9865ms to 0ms ago:
       0.7% 1558/system_server: 0% user + 0.7% kernel / faults: 39 minor
       0.4% 1143/adbd: 0% user + 0.4% kernel / faults: 117 minor
       0.4% 1796/com.estrongs.android.pop: 0.2% user + 0.2% kernel / faults: 95 minor
       0.2% 1132/surfaceflinger: 0% user + 0.2% kernel
       0.1% 1114/kworker/0:1H: 0% user + 0.1% kernel
       0.1% 1131/rild: 0% user + 0.1% kernel
       0.1% 1682/com.android.phone: 0% user + 0.1% kernel
      +0% 2510/logcat: 0% user + 0% kernel
     0.8% TOTAL: 0.1% user + 0.7% kernel + 0% iowait
     CPU usage from 1098ms to 1603ms later:
       2% 1558/system_server: 2% user + 0% kernel
         2% 1573/ActivityManager: 2% user + 0% kernel
     0% TOTAL: 0% user + 0% kernel
 

第二步:拿到、查看traces文件(/data/anr/traces.txt)

1、人家说在这个目录下,但是我不知道怎么找,搜到取这个文件的文章:

adb pull /data/anr/traces.txt /Users/atom/Downloads/  

traces.txt文章下载到电脑的“下载中”;

2、adb指令不会用,直接在cmd中执行提示“非内部指令”:

找到adb.exe的目录配置到环境变量中的PATH中:;F:\ProgramFiles\sdk\platform-tools

一般安卓开发的,sdk目录下的platform_tools中都会有adb.exe的文件,一定要重新cmd打开指令窗才能生效。

上述指令中的atom换成自己cmd出来的Users/后面的字符就好。

3、traces.txt文件直接打开比较乱,用了“Notepad++”查看,便捷很多瞬间定位到问题代码。

(其实总感觉Androidstudio中可能有这种日志便捷展示工具的,可是不知道在哪)

 

参考文章:

https://blog.youkuaiyun.com/h610968110/article/details/89915421

https://blog.youkuaiyun.com/janronehoo/article/details/62232337

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值