您的位置:首页 > 移动开发

ANR in Android Applications

2014-12-09 17:37 218 查看
使用Android系统时,偶尔会遇到ANR的情况,以前也查过几个这样的问题,不过相对比较简单,看看代码就能发现问题,今天抓份log看看,测试的代码如下:

<span style="font-family:Times New Roman;font-size:12px;">        mButton.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub

try
{
Thread.currentThread().sleep(10000);
}
catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});</span>


程序运行时,界面出现一个"click me"的Button,连续点击几次,就会出现ANR了,在adb shell中通过logcat可以看到log信息:

<span style="font-family:Times New Roman;font-size:12px;">I/Process ( 2610): Sending signal. PID: 3172 SIG: 3
W/ActivityManager( 2610): Missing app error report, app = com.example.firsttest crashing = false notResponding = t
I/dalvikvm( 3172): threadid=3: reacting to signal 3
I/Process ( 2610): Sending signal. PID: 7284 SIG: 3
I/dalvikvm( 7284): threadid=3: reacting to signal 3
I/dalvikvm( 3172): <span style="color:#ff0000;">Wrote stack traces to '/data/anr/traces.txt'</span>
W/ActivityManager( 2610): Missing app error report, app = com.example.firsttest crashing = false notResponding = t
E/ActivityManager( 2610): ANR in com.example.firsttest (com.example.firsttest/.MainActivity)
E/ActivityManager( 2610): PID: 20234
E/ActivityManager( 2610): <span style="color:#ff0000;">Reason: Input dispatching timed out </span>(Waiting because the touched window has not finished
ssing <span style="color:#ff0000;">the input events that were previously delivered to it.</span>)
E/ActivityManager( 2610): Load: 0.28 / 0.35 / 0.65
E/ActivityManager( 2610): CPU usage from 7413ms to 0ms ago with 99% awake:
E/ActivityManager( 2610):   3.6% 2610/system_server: 2.2% user + 1.3% kernel / faults: 513 minor 1 major
E/ActivityManager( 2610):   1.7% 2886/com.meizu.cloud: 0.5% user + 1.2% kernel
E/ActivityManager( 2610):   0.4% 1050/irq/513-synapti: 0% user + 0.4% kernel
E/ActivityManager( 2610):   0.9% 2661/com.android.systemui: 0.6% user + 0.2% kernel
E/ActivityManager( 2610):   0.8% 14829/kworker/u:1: 0% user + 0.8% kernel
E/ActivityManager( 2610):   0.6% 16142/kworker/u:4: 0% user + 0.6% kernel
E/ActivityManager( 2610):   0% 1262/mmcqd/0: 0% user + 0% kernel
E/ActivityManager( 2610):   0.1% 2811/com.android.phone: 0% user + 0.1% kernel
E/ActivityManager( 2610):   0.1% 2975/adbd: 0% user + 0.1% kernel
E/ActivityManager( 2610):   0.1% 3172/com.tencent.qqpimsecure: 0.1% user + 0% kernel
E/ActivityManager( 2610):   0% 3427/com.tencent.mobileqq:MSF: 0% user + 0% kernel
E/ActivityManager( 2610):   0.1% 3701/su: 0% user + 0.1% kernel
E/ActivityManager( 2610):   0.1% 7284/com.tencent.mobileqq: 0.1% user + 0% kernel
E/ActivityManager( 2610):   0% 15152/com.tencent.qqpimsecure:fore: 0% user + 0% kernel
E/ActivityManager( 2610):   0% 17601/com.eg.android.AlipayGphone: 0% user + 0% kernel
E/ActivityManager( 2610):   0.1% 20138/su: 0% user + 0.1% kernel
E/ActivityManager( 2610):   0.1% 20141/daemonsu:0:20138: 0% user + 0.1% kernel
E/ActivityManager( 2610):   0.1% 20148/kworker/0:0: 0% user + 0.1% kernel
E/ActivityManager( 2610): <span style="color:#ff0000;">1.7% TOTAL: 0.7% user + 0.8% kernel + 0% iowait + 0.1% irq + 0% softirq</span>
E/ActivityManager( 2610): CPU usage from 2843ms to 3372ms later:
E/ActivityManager( 2610):   13% 2610/system_server: 7.5% user + 5.6% kernel / faults: 16 minor
E/ActivityManager( 2610):     3.7% 2624/ActivityManager: 1.8% user + 1.8% kernel
E/ActivityManager( 2610):     1.8% 2621/Binder_2: 1.8% user + 0% kernel
E/ActivityManager( 2610):     1.8% 2850/Binder_8: 0% user + 1.8% kernel
E/ActivityManager( 2610):   9.2% 2975/adbd: 1.8% user + 7.4% kernel
E/ActivityManager( 2610):     5.5% 2975/adbd: 0% user + 5.5% kernel
E/ActivityManager( 2610):     3.7% 13315/adbd: 1.8% user + 1.8% kernel
E/ActivityManager( 2610):     1.8% 13316/adbd: 0% user + 1.8% kernel
E/ActivityManager( 2610):   2.7% 18306/logcat: 0% user + 2.7% kernel
E/ActivityManager( 2610):   2.8% 20146/logcat: 1.4% user + 1.4% kernel
E/ActivityManager( 2610):   1% 616/kswitcher_2: 0% user + 1% kernel
E/ActivityManager( 2610):   1.8% 2886/com.meizu.cloud: 0% user + 1.8% kernel
E/ActivityManager( 2610):     1.8% 12814/ervice.Executor: 0% user + 1.8% kernel
E/ActivityManager( 2610):   1.8% 3172/com.tencent.qqpimsecure: 1.8% user + 0% kernel
E/ActivityManager( 2610):     5.5% 3325/ANRHandlerThrea: 3.7% user + 1.8% kernel
E/ActivityManager( 2610):   1.2% 7284/com.tencent.mobileqq: 1.2% user + 0% kernel
E/ActivityManager( 2610):     1.2% 7284/encent.mobileqq: 1.2% user + 0% kernel
E/ActivityManager( 2610):   1.4% 20138/su: 0% user + 1.4% kernel
E/ActivityManager( 2610):   1.3% 20141/daemonsu:0:20138: 0% user + 1.3% kernel
E/ActivityManager( 2610): <span style="color:#ff0000;">7.8% TOTAL: 3.4% user + 4.4% kernel</span>
I/dalvikvm( 7284): Wrote stack traces to '<span style="color:#ff0000;">/data/anr/traces.txt</span>'</span>


查看log信息,再通过adb pull命令将/data/anr/traces.txt文件复制到本地查看:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: