Android App Crash类型

来源:互联网 发布:最流行的网络语言 编辑:程序博客网 时间:2024/05/17 01:16


一般来说App Crash类型有

1. Java Crash: 

Uncaught Exception

检查 Android System log是否有“FATAL EXCEPTION xxxx” / “am_crash” 

检查“java.lang.xxx”是哪种exception 发生了

检查“at xxxx”是在哪儿发生了exception

E/AndroidRuntime( 1651): FATAL EXCEPTION: main

E/AndroidRuntime( 1651): java.lang.NullPointerException

E/AndroidRuntime( 1651): at com.xxxxx (xxx.java :123)


很多种:

java.lang.IllegalStateException
java.lang.RuntimeException: Unable to start activity 
java.lang.NullPointerException
java.lang.IllegalStateException: 
Activity xxxActivity has leaked IntentReceiver 
android.view.WindowLeaked: 
java.lang.NoSuchMethodError: 
java.lang.IndexOutOfBoundsException: 
java.lang.StringIndexOutOfBoundsException
……


2. ANR crash

现象:xxx is not responding. “force close” or “wait” 

ANR type:

KeyDispatchTimeout (5 seconds) -- 大部分都是这个问题

A key or touch event was not dispatched within the specified time.

“Reason:xxx” is Reason:keyDispatchingTimeOut

BroadcastTimeout (10 seconds)

A BroadcastReceiver didn’t finish executing within the specified time. 

“Reason:xxx” is Reason:Broadcast of Intent { act=xxx

ServiceTimeout (20 seconds) -- 比较少见的

Service didn’t finish executing within the specified time 

“Reason:xxx” is  Reason:Executing service xxxx

怎么检测:

Look at “ANR in xxxx” / “Application is not responding” / “am_anr” and check where ANR occurred

05-01 16:13:11.572 I/InputDispatcher(  221): Application is not responding: Window{2b263310 com.android.email/com.android.email.activity.SplitScreenActivity paused=false}.  5009.8ms since event, 5009.5ms since wait started
05-01 16:13:11.572 I/WindowManager(  221): Input event dispatching timed out sending to com.android.email/com.android.email.activity.SplitScreenActivity 
05-01 16:13:14.123 I/Process (  221): Sending signal. PID: 21404 SIG: 3 
05-01 16:13:14.123 I/dalvikvm(21404): threadid=4: reacting to signal 3 
……
05-01 16:13:15.872 E/ActivityManager(  221): ANR in com.android.email (com.android.email/.activity.SplitScreenActivity)
05-01 16:13:15.872 E/ActivityManager(  221): Reason: keyDispatchingTimedOut 
05-01 16:13:15.872 E/ActivityManager(  221): Load: 8.68 / 8.37 / 8.53
05-01 16:13:15.872 E/ActivityManager(  221): CPU usage from 4361ms to 699ms ago:
05-01 16:13:15.872 E/ActivityManager(  221):   5.5% 21404/com.android.email: 1.3% user + 4.1% kernel / faults: 10 minor
05-01 16:13:15.872 E/ActivityManager(  221):   4.3% 220/system_server: 2.7% user + 1.5% kernel / faults: 11 minor 2 major
05-01 16:13:15.872 E/ActivityManager(  221):   0.9% 52/spi_qsd.0: 0% user + 0.9% kernel
05-01 16:13:15.872 E/ActivityManager(  221):   0.5% 65/irq/170-cyttsp-: 0% user + 0.5% kernel
05-01 16:13:15.872 E/ActivityManager(  221):   0.5% 296/com.android.systemui: 0.5% user + 0% kernel
05-01 16:13:15.872 E/ActivityManager(  221): 100% TOTAL: 4.8% user + 7.6% kernel + 87% iowait 
05-01 16:13:15.872 E/ActivityManager(  221): CPU usage from 3697ms to 4223ms later:
05-01 16:13:15.872 E/ActivityManager(  221):   25% 21404/com.android.email: 25% user + 0% kernel / faults: 191 minor
05-01 16:13:15.872 E/ActivityManager(  221):     16% 21603/__eas(par.hakan: 16% user + 0% kernel
05-01 16:13:15.872 E/ActivityManager(  221):     7.2% 21406/GC: 7.2% user + 0% kernel
05-01 16:13:15.872 E/ActivityManager(  221):     1.8% 21409/Compiler: 1.8% user + 0% kernel
05-01 16:13:15.872 E/ActivityManager(  221):   5.5% 220/system_server: 0% user + 5.5% kernel / faults: 1 minor
05-01 16:13:15.872 E/ActivityManager(  221):     5.5% 263/InputDispatcher: 0% user + 5.5% kernel
05-01 16:13:15.872 E/ActivityManager(  221): 32% TOTAL: 28% user + 3.7% kernel 

 

ANR详见http://developer.android.com/guide/practices/design/responsiveness.html

Native crash

Look at “pid: xx, tid:xx >>> xxxxxx <<<<

Look at “signal xxxx”, and check what’s the cause of the crash

I/DEBUG ( 107): pid: 2026, tid: 2026 >>> com.xx.xx.xx<<<

I/DEBUG ( 107): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadcafe

I/DEBUG ( 107): r0 00000000 r1 00000001 r2 afd46628 r3 deadcafa

I/DEBUG ( 107): r4 afd46470 r5 00000000 r6 deadcb02 r7 0000a000

I/DEBUG ( 107): r8 beb25420 r9 42154df0 10 42154dd8 fp acaa5d48

I/DEBUG ( 107): ip 00000000 sp beb253f8 lr afd10e98 pc afd131ee cpsr a0000030

... 

I/DEBUG ( 107):       #00 pc 000131ee /system/lib/libc.so

I/DEBUG ( 107):       #01 pc 00014522 /system/lib/libc.so

0 0
原创粉丝点击