请找到下面的堆栈跟踪。 ANR 有时会在屏幕上出现,这是我在 logcats 中得到的堆栈跟踪。在此之前我们正在做一些位图处理,所以不确定它是否与内存有关。
请找到下面的堆栈跟踪。 ANR 有时会在屏幕上出现,这是我在 logcats 中得到的堆栈跟踪。在此之前我们正在做一些位图处理,所以不确定它是否与内存有关。
ANR in <package-name of the app>
`. enter code here`enter code here`PID: 24329
Reason: executing service <package- name>/com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService
ErrorId: e9f15d1d-0766-45d0-8994-a8d255c229b8
Frozen: false
Load: 4.7 / 2.68 / 2.29
----- Output from /proc/pressure/memory -----
some avg10=4.35 avg60=9.21 avg300=4.40 total=71024275
full avg10=2.93 avg60=6.41 avg300=3.06 total=47635616
----- End output from /proc/pressure/memory -----
CPU usage from 151568ms to -1ms ago (2023-04-26 13:18:05.803 to 2023-04-26 13:20:37.373):
46% 24329/com.awarex.mref.qa: 33% user + 13% kernel / faults: 1705406 minor 132468 major
17% 129/kswapd0: 0% user + 17% kernel
9.6% 405/surfaceflinger: 2.4% user + 7.2% kernel / faults: 86063 minor 11314 major
4.5% 589/system_server: 0.7% user + 3.8% kernel / faults: 84144 minor 55149 major
2.3% 444/adbd: 0.6% user + 1.6% kernel / faults: 63642 minor 9370 major
2.1% 13442/kworker/u8:0-events_unbound: 0% user + 2.1% kernel
2% 386/[email protected]: 0% user + 1.9% kernel / faults: 87470 minor 33681 major
1.6% 380/[email protected]: 0.4% user + 1.2% kernel / faults: 36287 minor 14750 major
1.6% 24754/kworker/u8:2-phy1: 0% user + 1.6% kernel
1.6% 22796/com.google.android.inputmethod.latin: 1.2% user + 0.3% kernel / faults: 64232 minor 667 major
1.5% 786/com.android.systemui: 0.5% user + 1% kernel / faults: 22883 minor 5165 major
1.4% 22464/kworker/u9:2-blk_crypto_wq: 0% user + 1.4% kernel
1.2% 22483/kworker/u9:4-fscrypt_read_queue: 0% user + 1.2% kernel
1.1% 22466/kworker/u8:5-loop0: 0% user + 1.1% kernel
0.3% 21633/kworker/u9:1-fscrypt_read_queue: 0% user + 0.3% kernel
0.9% 218/logd: 0.2% user + 0.7% kernel / faults: 2079 minor 333 major
0.9% 22425/kworker/u8:1-events_unbound: 0% user + 0.9% kernel
0.6% 365/android.hardware.audio.service: 0.1% user + 0.4% kernel / faults: 270 minor 14 major
0.6% 22515/com.google.android.gms.persistent: 0.2% user + 0.3% kernel / faults: 31194 minor 5330 major
0.6% 401/audioserver: 0.3% user + 0.2% kernel / faults: 953 minor 55 major
0.5% 24711/kworker/0:1-events: 0% user + 0.5% kernel
0.4% 18376/transport: 0% user + 0.4% kernel / faults: 11254 minor 5853 major
0.4% 17357/kworker/u9:0-fscrypt_read_queue: 0% user + 0.4% kernel
0.3% 12/ksoftirqd/0: 0% user + 0.3% kernel
0.3% 455/logcat: 0% user + 0.2% kernel / faults: 3955 minor 113 major
0.3% 24138/com.android.chrome: 0% user + 0.3% kernel / faults: 7034 minor 4756 major
0.2% 908/com.android.networkstack.process: 0% user + 0.2% kernel / faults: 5903 minor 4842 major
0.2% 22649/com.google.android.gms: 0.1% user + 0.1% kernel / faults: 6250 minor 1500 major
0.2% 22514/kworker/0:2-events: 0% user + 0.2% kernel
0.1% 981/com.android.phone: 0% user + 0.1% kernel / faults: 5680 minor 2965 major
0.1% 14661/logcat: 0% user + 0.1% kernel / faults: 3149 minor 112 major
0.1% 564/logcat: 0% user + 0.1% kernel / faults: 3129 minor 116 major
0.1% 24/ksoftirqd/1: 0% user + 0.1% kernel
0.1% 23782/com.google.android.permissioncontroller: 0% user + 0% kernel / faults: 7322 minor 8 major
0.1% 30/ksoftirqd/2: 0% user + 0.1% kernel
0.1% 13/rcu_preempt: 0% user + 0.1% kernel
0.1% 47/kcompactd0: 0% user + 0.1% kernel
0.1% 22534/kworker/3:1-virtio_vsock: 0% user + 0.1% kernel
0.1% 140/kworker/2:2-virtio_vsock: 0% user + 0.1% kernel
0.1% 146/sugov:1: 0% user + 0.1% kernel
0% 147/sugov:2: 0% user + 0% kernel
0% 36/ksoftirqd/3: 0% user + 0% kernel
0% 145/sugov:0: 0% user + 0% kernel
0% 148/sugov:3: 0% user + 0% kernel
0% 19867/kworker/1:2-cgroup_destroy: 0% user + 0% kernel
0% 371/[email protected]: 0% user + 0% kernel / faults: 8875 minor 46 major
0% 23672/com.google.android.ext.services: 0% user + 0% kernel / faults: 2085 minor
0% 389/[email protected]: 0% user + 0% kernel / faults: 1959 minor 595 major
0% 153/kworker/0:1H-kblockd: 0% user + 0% kernel
2023-04-26 13:20:38.913 589-25145 ActivityManager system_process E 0% 219/lmkd: 0% user + 0% kernel
0% 361/statsd: 0% user + 0% kernel / faults: 1172 minor 279 major
0% 362/netd: 0% user + 0% kernel / faults: 2464 minor 587 major
0% 261/jbd2/dm-32-8: 0% user + 0% kernel
0% 457/cameraserver: 0% user + 0% kernel / faults: 1011 minor 62 major
0% 179/kworker/1:1H-kblockd: 0% user + 0% kernel
0% 356/dhcpclient: 0% user + 0% kernel / faults: 151 minor 24 major
0% 379/[email protected]: 0% user + 0% kernel / faults: 38 minor
0% 103/kworker/2:1H-kblockd: 0% user + 0% kernel
0% 22980/com.google.android.googlequicksearchbox:interactor: 0% user + 0% kernel / faults: 1050 minor 106 major
0% 1/init: 0% user + 0% kernel / faults: 54 minor 76 major
0% 156/kworker/3:1H-kblockd: 0% user + 0% kernel
0% 173/ueventd: 0% user + 0% kernel / faults: 346 minor 148 major
0% 392/android.hardware.power-service.example: 0% user + 0% kernel / faults: 447 minor 82 major
0% 492/wificond: 0% user + 0% kernel / faults: 584 minor 37 major
0% 494/libgoldfish-rild: 0% user + 0% kernel / faults: 798 minor 243 major
0% 840/[email protected]: 0% user + 0% kernel / faults: 249 minor 89 major
0% 15903/psimon: 0% user + 0% kernel
0% 22533/com.google.android.apps.nexuslauncher: 0% user + 0% kernel / faults: 409 minor 2 major
0% 23141/android.process.acore: 0% user + 0% kernel / faults: 742 minor
0% 220/servicemanager: 0% user + 0% kernel / faults: 139 minor 21 major
0% 221/hwservicemanager: 0% user + 0% kernel / faults: 247 minor 71 major
0% 227/vold: 0% user + 0% kernel / faults: 81 minor 24 major
0% 453/traced: 0% user + 0% kernel / faults: 151 minor 4 major
0% 507/[email protected]: 0% user + 0% kernel / faults: 97 minor 16 major
0% 778/wpa_supplicant: 0% user + 0% kernel / faults: 161 minor 53 major
0% 870/com.android.bluetooth: 0% user + 0% kernel / faults: 249 minor 10 major
0% 22601/com.google.process.gservices: 0% user + 0% kernel / faults: 702 minor 23 major
+0% 25028/kworker/u8:3-events_unbound: 0% user + 0% kernel
+0% 25031/kworker/u8:4-kverityd: 0% user + 0% kernel
+0% 25032/kworker/u8:6-kverityd: 0% user + 0% kernel
+0% 25037/kworker/u9:3-blk_crypto_wq: 0% user + 0% kernel
+0% 25042/kworker/u8:7-events_unbound: 0% user + 0% kernel
+0% 25043/kworker/u8:8-kverityd: 0% user + 0% kernel
+0% 25063/com.google.android.gms.unstable: 0% user + 0% kernel
32% TOTAL: 9.9% user + 15% kernel + 3.8% iowait + 2.3% irq + 1% softirq
CPU usage from 30ms to 259ms later (2023-04-26 13:20:37.401 to 2023-04-26 13:20:37.631):
111% 24329/com.awarex.mref.qa: 97% user + 14% kernel / faults: 17132 minor
92% 24329/.awarex.mref.qa: 87% user + 4.8% kernel
9.7% 24487/RenderThread: 4.8% user + 4.8% kernel
4.8% 24494/FrameMetricsAgg: 0% user + 4.8% kernel
18% 405/surfaceflinger: 4.5% user + 13% kernel
4.5% 466/RenderEngine: 0% user + 4.5% kernel
9% 589/system_server: 0% user + 9% kernel / faults: 303 minor
9% 25145/AnrConsumer: 0% user + 9% kernel
4.3% 13/rcu_preempt: 0% user + 4.3% kernel
4.4% 218/logd: 0% user + 4.4% kernel / faults: 1 minor
4.4% 380/[email protected]: 0% user + 4.4% kernel
4.4% 380/[email protected]: 4.4% user + 0% kernel
4.5% 444/adbd: 4.5% user + 0% kernel / faults: 609 minor
4.5% 444/adbd: 4.5% user + 0% kernel
4.6% 13442/kworker/u8:0-kverityd: 0% user + 4.6% kernel
40% TOTAL: 26% user + 12% kernel + 1.1% irq
查看 ANR 的描述https://developer.android.com/topic/performance/vitals/anr
我猜你是在主线程(在这个调度程序中)而不是在后台做这个提到的位图处理?但是没有你的代码很难说。
您也可以尝试使用 StrictMode,可能正在寻找 slowCall - https://developer.android.com/reference/android/os/StrictMode#noteSlowCall(java.lang.String)
识别代码中应用程序主线程忙碌超过 5 秒的地方。在您的应用中寻找可疑用例并尝试重现 ANR。 由于您正在运行的服务,可能会发生这种情况。尝试在其他线程或线程句柄上运行此任务。您可以使用以下代码
HandlerThread handlerThread = new HandlerThread("MyHandlerThread");
handlerThread.start();
// Now get the Looper from the HandlerThread
// NOTE: This call will block until the HandlerThread gets control and
initializes its Looper
Looper looper = handlerThread.getLooper();
您可以开始制作活套线了。
其他相关问题可以在下面的行中找到(官方 ANR 问题链接)
https://developer.android.com/topic/performance/vitals/anr#slow-code-on-main