ANR问题: /data/anr/traces.txt

Posted lihei12345

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ANR问题: /data/anr/traces.txt相关的知识,希望对你有一定的参考价值。

遇到一个很奇怪的问题,logcat总是提示 wrote trace to "/data/anr/traces.txt",然后就挂掉了,应该是某个线程死锁或者在主线程中做了大量的运算,导致主线程死锁的缘故。

提取方式的话,一. 在手机越狱后,同事推荐使用root explorer来将文件复制到SD卡中,使用系统文件管理工具,选择使用QQ打开该文件,然后将文件发送出来即可或者直接使用工具从SD卡中提取。二. 可以使用adb shell cat /data/anr/traces.txt读取该文件,总是忽略这个工具

打开traces.txt,里面的分割是以应用为基础划分的,以分割线进行分割,只需要找到自己的应用即可:

----- pid 27221 at 2014-05-07 17:29:33 -----

Cmd line: android.process.media


DALVIK THREADS:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0)

......

----- end 27221 -----


里面的具体问题的话就要根据log信息解决了,log还是比较容易看懂的,我们这边的问题在于在主线程发送socket,并且这个socket中会发生某些问题,导致死锁。最后改用HanderThread很容易就解决了,用户体验提升很多。

以上是关于ANR问题: /data/anr/traces.txt的主要内容,如果未能解决你的问题,请参考以下文章

钉钉 ANR 治理最佳实践 | 定位 ANR 不再雾里看花

ANR一般性分析方法

ANR优化实践

ANR 分析思路浅析

Android ANR优化 2

钉钉 ANR 治理最佳实践 | 定位 ANR 不再雾里看花