Android ANR问题分析

当APK因为ANR退出时,在/data/anr目录下会生成traces.txt,通过这个log通常可以看出卡住的callstack.

一般开始的第一个callstack就是:


"main" prio=5 tid=1 Native
  | group="main" sCount=1 dsCount=0 obj=0x737a0fa0 self=0xb88f8350
  | sysTid=4133 nice=0 cgrp=default sched=0/0 handle=0xb6f4db34
  | state=S schedstat=( 143966057 19125174 188 ) utm=8 stm=5 core=1 HZ=100
  | stack=0xbe2e4000-0xbe2e6000 stackSize=8MB
  | held mutexes=
  native: #00 pc 00042c2c  /system/lib/libc.so (__ioctl+8)
  native: #01 pc 0004972d  /system/lib/libc.so (ioctl+14)
  native: #02 pc 0001e89d  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+132)
  native: #03 pc 0001eecf  /system/lib/libbinder.so (android::IPCThreadState::waitForResponse(android::Parcel*, int*)+38)
  native: #04 pc 0001f085  /system/lib/libbinder.so (android::IPCThreadState::transact(int, unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+124)
  native: #05 pc 0001a08b  /system/lib/libbinder.so (android::BpBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+30)
  native: #06 pc 0006b5c7  /system/lib/libmedia.so (???)
  native: #07 pc 000219bb  /system/lib/libmedia_jni.so (android::JDrm::MakeDrm(unsigned char const*)+30)

你可能感兴趣的:(Android)