这是一个点击之后反应超时的ANR
[2018/1/12 10:25:21] 01-12 10:24:57.343 337 1279 D ActivityManager: Delay resumeKeyDispatchingLocked() to avoid deadlock. [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: ANR in com.android.settings (com.android.settings/.LanguageSettings), time=1484121 [2018/1/12 10:25:21] ng up.) // Reason漏了 [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: Load: 21.75 / 22.85 / 18.3 [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: Android time :[2018-01-12 10:24:57.27] [1490.278] [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: CPU usage from 13170ms to 0ms ago: [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 106% 1609/com.**********.services: 20% user + 86% kernel / faults: 1096 minor 12 major [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 30% 337/system_server: 15% user + 14% kernel / faults: 4909 minor 75 major [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 24% 1215/android.process.media: 22% user + 1.8% kernel / faults: 4203 minor 44 major [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 12% 146/surfaceflinger: 6.8% user + 6.1% kernel / faults: 246 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 11% 4057/com.android.settings: 9.3% user + 2.4% kernel / faults: 5423 minor 19 major [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 8.9% 1965/com.**********.voiceassistant: 7.4% user + 1.5% kernel / faults: 4531 minor 96 major [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 4% 1822/ksdioirqd/mmc1: 0% user + 4% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 3.4% 106/logd: 1.8% user + 1.5% kernel / faults: 17 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 2.7% 45/kswapd0: 0% user + 2.7% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 2.1% 1564/com.*********.settings<1> (1)[1971:RadioServiceThr]i2c ioctl, cmd=0x707, arg=0xa2e1d490 [2018/1/12 10:25:21] : 1.4% user + 0.7% kernel / faults: 1118 minor 2 major [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 1.9% 72/mmcqd/0: 0% user + 1.9% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 1.6% 2218/com.android.phone: 0.9% user + 0.6% kernel / faults: 794 minor 33 major [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 1.5% 964/com.android.systemui: 1.2% user + 0.3% kernel / faults: 2244 minor 14 major [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 1.4% 1888/com.*********.carplay: 0.8% user + 0.6% kernel / faults: 382 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 1.2% 128/outhw_thread: 0% user + 1.2% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 1.2% 3850/com.**********.radio_v2: 0.9% user + 0.3% kernel / faults: 3010 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 1% 151/mediaserver: 0.6% user + 0.3% kernel / faults: 197 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.9% 183/mnld: 0.8% user + 0% kernel / faults: 101 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.5% 1824/stp_sdio_tx_rx: 0% user + 0.5% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.4% 7/rcu_preempt: 0% user + 0.4% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.3% 131/pb_stream_threa: 0% user + 0.3% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.3% 141/zygote: 0% user + 0.2% kernel / faults: 2627 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.3% 144/servicemanager: 0% user + 0.2% kernel / faults: 11 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.2% 1867/com.**********.avm.t3plus: 0.1% user + 0% kernel / faults: 637 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.2% 2320/kworker/1:2: 0% user + 0.2% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.2% 2396/kworker/u8:0: 0% user + 0.2% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.2% 2967/wpa_supplicant: 0.1% user + 0% kernel / faults: 107 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.2% 3918/kworker/u8:4: 0% user + 0.2% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.1% 122/Audin1AU: 0% user + 0.1% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.1% 133/HDMIRxTask Thre: 0% user + 0.1% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0% 1301/com.gislocation.android.service: 0% user + 0% kernel / faults: 871 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.1% 1638/app_process: 0% user + 0% kernel / faults: 87 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.1% 1951/com.**********.carassistant: 0% user + 0% kernel / faults: 607 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.1% 2301/com.************.btservice: 0% user + 0% kernel / faults: 737 minor 10 major [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.1% 2818/kworker/u8:1: 0% user + 0.1% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.1% 2963/hif_thread: 0% user + 0.1% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.1% 3298/com.**********.music: 0% user + 0% kernel / faults: 712 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.1% 3847/kworker/3:0: 0% user + 0.1% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.1% 3875/kworker/0:0: 0% user + 0.1% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0.1% 3876/kworker/2:1: 0% user + 0.1% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0% 1//init: 0% user + 0% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0% 10/migration/0: 0% user + 0% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0% 93/jbd2/mmcblk0p27: 0% user + 0% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0% 121/AudEsm: 0% user + 0% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0% 123/Audin2AU: 0% user + 0% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager 0% 13/HDMIRxCbusLink : 0% user + 0% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0% 135/HDMIRxCbusCmd T: 0% user + 0% kerne<1> (1)[1971:RadioServiceThr]i2c ioctl, cmd=0x707, arg=0xa2e1d470 [2018/1/12 10:25:21] l [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0% 186/mtk_stp_psm: 0% user + 0% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0% 1592/com.android.inputmethod.latin: 0% user + 0% kernel / faults: 477 minor 1 major [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0% 1651/com.*********.carcameras: 0% user + 0% kernel / faults: 629 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0% 1925/com.********.bluetooth: 0% user + 0% kernel / faults: 426 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0% 1982/com.android.defcontainer: 0% user + 0% kernel / faults: 468 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0% 2223/com.**********.quickbootmanager: 0% user + 0% kernel / faults: 1641 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0% 2252/com.**********.gallery: 0% user + 0% kernel / faults: 443 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0% 2962/tx_thread: 0% user + 0% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0% 3334/com.********.filemanager: 0% user + 0% kernel / faults: 443 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0% 3596/com.android.externalstorage: 0% user + 0% kernel / faults: 400 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 0% 3609/android.process.media: 0% user + 0% kernel / faults: 565 minor [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: +0% 4124/android.process.acore: 0% user + 0% kernel [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: 55% T // Total漏了
初步判断是系统和服务占用资源太多,引起原生设置的ANR
在原生设置“语言和输入法”界面点击返回键是在10:24:52.563,原生设置是在10:24:52.723结束,公司设置是在10:24:57.238才收到onConfigurationChanged回调,快5秒了
01-12 10:24:52.563 4057 ue to no window focus: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_BACK, scanCode=0, metaState=0, flags=0x68, repeatCount=0, eventTime=1484133, downTime=1476062, deviceId=-1, source=0x101 } 01-12 10:24:52.723 4057 4057 D ActivityThread: ACT-DESTROY_ACTIVITY handled : 1 / android.os.BinderProxy@5af997d Line 97217: [2018/1/12 10:25:20] 01-12 10:24:57.238 1564 1564 D RRIVI : HomeActivity--TAGonConfigurationChanged 91 onConfigurationChanged com.roadrover.settings.ui.activity.HomeActivity@7c8a4d8 [2018/1/12 10:25:21] 01-12 10:24:57.332 1564 1564 V ActivityThread: Performing resume of ActivityRecord{8570c4a token=android.os.BinderProxy@e0af7bb {com.roadrover.settings/com.roadrover.settings.ui.activity.HomeActivity}} Line 97346: [2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E ANRManager: ANR in com.android.settings (com.android.settings/.LanguageSettings), time=1484121 Line 97692: [2018/1/12 10:25:21] 01-12 10:24:57.671 1564 1564 D RRIVI : HomeActivity--TAGonCreate 84 onCreate com.roadrover.settings.ui.activity.HomeActivity@428a691 Line 97906: [2018/1/12 10:25:21] 01-12 10:24:58.309 1564 1564 D RRIVI : HomeActivity--TAGonResume 128 onResume com.roadrover.settings.ui.activity.HomeActivity@428a691
PS:ACT-DESTROY_ACTIVITY这个操作是在当前activity的onDestroy走了之后才会走得。
[一个ANR问题]
Application is not responding: AppWindowToken{2c381cd0 token=Token{2c38feb8 ActivityRecord{2c2ddce0 u0 com.*********.settings/.common.OptionTabHostActivity}}}. It has been 8009.8ms since event, 8008.7ms since wait
started. Reason: Waiting because no window has focus but there is a focused application that may eventually add a window when it finishes starting up.
[10-19 141007 298]I/Process ( 340): Sending signal. PID: 887 SIG: 3 [10-19 141007 303]I/dalvikvm( 887): threadid=3: reacting to signal 3 [10-19 141007 346]I/dalvikvm( 887): Wrote stack traces to '/data/anr/traces.txt' [10-19 141007 361]E/ActivityManager( 340): ANR in com.roadrover.settings (com.roadrover.settings/.common.OptionTabHostActivity) [10-19 141007 361]E/ActivityManager( 340): Reason: keyDispatchingTimedOut [10-19 141007 361]E/ActivityManager( 340): Load: 23.33 / 22.43 / 19.7 [10-19 141007 362]E/ActivityManager( 340): CPU usage from 33210ms to 0ms ago:
经过分析,发现是可以明显看到,在开始创建窗口,到大约*秒后,系统已经开始分发事件了,此时已经发现没有目标窗口,系统此时已经提醒我们一次了,当然后边呢,目标窗口还是没有创建好,最终就导致ANR了。
可以知道是由于Activity没有顺利执行,刚开始是认为在Activity的onCreate执行失败,但是看了几遍发现onCreate里面没有耗时操作,后来过了几遍log,发现原来是Service里面得一个方法卡住了,导致阻塞了主线程,导致
Activity的onCreate无法顺利执行,而ANR了。