Android ANR这个错误大家并不陌生,但是从Android 2.2开始出错的ANR信息会自动上传给Google进行系统分析改进,当然了你的应用ANR错误其实保存在一个文件中,在/data/anr/traces.txt文件中,如果你的Android设备没有Root越狱过,可以将你的软件装在模拟器上分析,模拟器可以直接使用Eclipse中的DDMS里的File Explorer来打开,如下图: 虽然traces.txt是一个文本文件,不过使用windows上的记事本打开可能无法正常处理linux的换行符,这里Android123建议你使用ultra edit查看,当然了使用Windows自带的写字板也是不错的。下面一起来分析下错误吧,第一行为出错的时间,第二行都会写上发生ANR的package Name,下文是com.android.systemui这个包,里面的部分线程出了问题,通过下面的的xxx方法以及对应的java文件,后面的数字为xxx.java文件的第几行,是不是很方便呢? —– pid 125 at 2011-02-22 05:18:01 —–Cmd line: com.android.systemui DALVIK THREADS:(mutexes: tll=0 tsl=0 tscl=0 ghl=0 hwl=0 hwll=0)"main" prio=5 tid=1 NATIVE | group="main" sCount=1 dsCount=0 obj=0x4001f1a8 self=0xce48 | sysTid=125 nice=0 sched=0/0 cgrp=default handle=-1345006528 | schedstat=( 981213067 8042604425 151 ) at android.os.BinderProxy.transact(Native Method) at android.os.storage.IMountService$Stub$Proxy.isUsbMassStorageConnected(IMountService.java:95) at android.os.storage.StorageManager.isUsbMassStorageConnected(StorageManager.java:385) at […]







