android dropbox anr分析,如何分析ANR Log的总结

引起ANR问题的根本原因,总的来说可以归纳为两类:

应用进程自身引起的,例如:

主线程阻塞、挂起、死循环

应用进程的其他线程的CPU占用率高,使得主线程无法抢占到CPU时间片

2.其他进程间接引起的,例如:

当前应用进程进行进程间通信请求其他进程,其他进程的操作长时间没有反馈

其他进程的CPU占用率高,使得当前应用进程无法抢占到CPU时间片

分析ANR问题时,以上述可能的2种原因为线索,通过分析各种日志信息,大多数情况下你就可以很容易找到问题所在了。

从log分析

在BottomBarManager里, 当点击find_in_page button时, sleep 10秒,模拟一个ANR。

用"ActivityManager"作为filter tag, 可以得到下面的信息。(btw, ultraedit有个filter 字符串的功能非常好, 看看linux下有没有类似的功能?)

可以得到ANR发生在哪个进程, reason, 在ANR发生前一段时间和发生后的一段时间, CPU占用率的统计信息.

06-02 11:39:42.260 743-943/? E/ActivityManager﹕ ANR in com.qihoo.browser (com.qihoo.browser/org.chromium.

chrome.browser.ChromeTabbedActivity)

Reason: keyDispatchingTimedOut

//CPU前一分钟、五分钟、十五分钟的CPU平均负载,

//CPU平均负载可以理解为一段时间内正在使用和等待使用CPU的活动进程的平均数量。

Load: 5.16 / 9.69 / 30.66

//请注意ago,表示ANR发生之前的一段时间内的CPU使用率,并不是某一时刻的值

CPU usage from 34388ms to -1ms ago:

4.1% 32614/com.qihoo.browser: 2.5% user + 1.6% kernel / faults: 465 minor 1 major

3% 379/adbd: 0.2% user + 2.8% kernel / faults: 1653 minor

2.6% 743/system_server: 1.8% user + 0.7% kernel / faults: 689 minor

2.5% 2326/com.qihoo.daemon: 2.2% user + 0.2% kernel / faults: 601 minor

2.4% 1009/RX_Thread: 0% user + 2.4% kernel

2% 280/surfaceflinger: 1.2% user + 0.8% kernel / faults: 1361 minor

1.8% 2675/com.lbe.security:service: 1.7% user + 0.1% kernel / faults: 749 minor

1.1% 1768/mpdecision: 0.1% user + 1% kernel

0.9% 29165/kworker/0:2: 0% user + 0.9% kernel

0.7% 23576/com.qihoo.appstore: 0.5% user + 0.1% kernel / faults: 1401 minor

0.5% 28500/kworker/0:0: 0% user + 0.5% kernel

0.4% 1055/com.android.systemui: 0.3% user + 0% kernel / faults: 48 minor

0.4% 6850/kworker/u:1: 0% user + 0.4% kernel

0.3% 23077/com.qihoo.appstore:PluginP01: 0.2% user + 0.1% kernel / faults: 200 minor

0.2% 271/mediaserver: 0.2% user + 0% kernel / faults: 46 minor

0.3% 6883/kworker/u:37: 0% user + 0.3% kernel

0.2% 302/illumination_service: 0% user + 0.2% kernel

0.2% 134/mmcqd/0: 0% user + 0.2% kernel

0.1% 32727/com.qihoo.browser:privileged_process0: 0% user + 0% kernel / faults: 288 minor

0.1% 2885/com.qihoo.browser:sandboxed_process1: 0% user + 0% kernel

0.1% 3378/com.sonyericsson.playnowchina.android: 0.1% user + 0% kernel

0.1% 2027/com.cleanmaster.mguard_cn:service: 0% user + 0.1% kernel / faults: 3 minor

0.1% 1008/TX_Thread: 0% user + 0.1% kernel

0.1% 28341/com.sonyericsson.dlna: 0.1% user + 0% kernel

0% 130/cfinteractive: 0% user + 0% kernel

0% 293/ric: 0% user + 0% kernel / faults: 93 minor

0% 2468/com.qihoo360.mobilesafe.clean: 0% user + 0% kernel / faults: 45 minor

0% 4861/com.tencent.mm: 0% user + 0% kernel / faults: 9 minor

0% 127/irq/294-clearpa: 0% user + 0% kernel

0% 281/zygote: 0% user + 0% kernel / faults: 129 minor

0% 1007/MC_Thread: 0% user + 0% kernel

0% 2648/com.qihoo.appstore_CoreDaemon: 0% user + 0% kernel

0% 29640/com.lbe.security: 0% user + 0% kernel / faults: 1 minor

0% 155/jbd2/mmcblk0p26: 0% user + 0% kernel

0% 170/flush-179:0: 0% user + 0% kernel

0% 269/servicemanager: 0% user + 0% kernel

0% 276/system_monitor: 0% user + 0% kernel

0% 291/qrngd: 0% user + 0% kernel

0% 365/sdcard: 0% user + 0% kernel

0% 1041/wpa_supplicant: 0% user + 0% kernel

0% 1360/com.android.nfc: 0% user + 0% kernel

0% 2958/lbesec.loader: 0% user + 0% kernel / faults: 14 minor

0% 5128/com.tencent.mm:push: 0% user + 0% kernel / faults: 2 minor

0% 6028/com.UCMobile:SearchBackgroundProcess: 0% user + 0% kernel

+0% 3318/com.sonyericsson.textinput.chinese: 0% user + 0% kernel

+0% 3544/sh: 0% user + 0% kernel

+0% 3546/logcat: 0% user + 0% kernel

+0% 3682/migration/1: 0% user + 0% kernel

+0% 3683/kworker/1:0: 0% user + 0% kernel

+0% 3684/ksoftirqd/1: 0% user + 0% kernel

9.7% TOTAL: 4.8% user + 4.2% kernel + 0.3% iowait + 0.3% softirq

//这里是later,表示ANR发生之后

CPU usage from 1656ms to 2187ms later:

8.7% 743/system_server: 0% user &

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值