Android ANR问题分析
2016-01-21 20:37
435 查看
当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)
一般开始的第一个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 制作简单的画板
- Android Studio生成的软件没有标题栏
- Android BLE与终端通信(三)——客户端与服务端通信过程以及实现
- android 自定义控件以及自定义view学习(随机验证码生成)
- Android 内存优化之OOM
- Android 内存优化之OOM
- 一键加群android代码如何使用!
- 如何在大脑里安装一部iPhone?
- android studio的使用:虚拟手机与真机的设置
- Android Java四种引用区分 <17>
- Android的监听机制
- Android 零碎知识——获取手机的信息
- 33.Android之Fragment学习
- android去掉顶部蓝色框方法
- android开发之Camera(相机)
- Android Image点击效果
- Android HorizontalScrollView ScrollView 消除阴影
- 调查应用的RAM使用情况
- Android TextView之Html.fromHtml学习(二)
- #Android源代码#android:onClick属性的底层调用