ANR in Android Applications
2014-12-09 17:37
218 查看
使用Android系统时,偶尔会遇到ANR的情况,以前也查过几个这样的问题,不过相对比较简单,看看代码就能发现问题,今天抓份log看看,测试的代码如下:
程序运行时,界面出现一个"click me"的Button,连续点击几次,就会出现ANR了,在adb shell中通过logcat可以看到log信息:
查看log信息,再通过adb pull命令将/data/anr/traces.txt文件复制到本地查看:
<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文件复制到本地查看:
相关文章推荐
- change PREFERRED_APPLICATIONS in Android
- Using MultipartEntity in Android applications
- How to use AlertDialog.Builder in Android applications
- 关于 Android 的ANR in XXX.XXX.xxx ,Reason: Broadcast of Intent
- 关于 Android 的ANR in XXX.XXX.xxx ,Reason: Broadcast of Intent
- JavaScript in Android Applications
- Preserving User Preferences in Android Applications
- Wakelocks: Detect No-Sleep Issues in Android* Applications(转载)
- Using MQTT in Android mobile applications
- Using your own SQLite database in Android applications
- Using your own SQLite database in Android applications
- [转载]Encrypting Configuration Information in ASP.NET 2.0 Applications
- Scott doesn't use datasets in ASP .NET Applications
- The Best of Both Worlds: Integrating JSF with Struts in Your J2EE Applications
- Dynamically creating applications using System.CodeDom in VB.NET
- [Books]Applications Programming in ANSI C
- Mixing JSTL and JSF in Web Applications
- Tracing memory leaks in .NET applications with ANTS Profiler
- Preventing Cross-site Scripting Attacks--In Your Web Applications
- XAML applications can run in one of two ways