实例:Android Studio3+版本 获取存有ANR信息的traces.txt文件,解决ANR问题

一.前期基础知识储备

traces.txt系统自动生成的记录anr等异常的文件,只记录java代码产生的异常。

如果是旧版本(Android Studio3以下的版本)的AS,可以直接通过DDMS的File Explorer直接导出来:

之上的AS由于移除了DDMS,所以需要其他的方法获取该文件。

二.上实例分析

笔者在项目中出现了一个ANR,信息如下:

06-01 14:55:29.473 973-1030/? E/ActivityManager: ANR in com.znv.linkup (com.znv.linkup/.WelcomeActivity)

PID: 9306

Reason: Input dispatching timed out (Waiting to send non-key event because the touched window has not finished processing certain input events that were delivered to it over 500.0ms ago. Wait queue length: 2. Wait queue head age: 17784.3ms.)

具体表现为停在应用首页一段时间后,点击首页按钮,卡顿然后会弹出ANR的提示。可以看到出问题的是WelcomeActivity,接着导出traces.txt文件具体定位到出问题的地方。

1)我们先跳转到Android/SDK/platform-tools的所在目录下,crtl + shift + 左键 选择在这里打开cmd窗口

2)然后输入 adb shell

3)输入 cd data/anr 跳转到anr目录

4)输入 ls 查看所有文件

5)Ctrl+D 先退出

6)最后输入 adb pull /data/anr/traces.txt 将文件保存到tools目录下

具体操作如下图:

然后再打开traces.txt文件,找到里面WelcomeActivity相关的地方,也就是自己代码相关的地方。如下:

由上图,我们知道是由于WelcomeActivity内的动画操作不当引起的ANR错误。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值