【发布时间】:2021-05-21 18:16:43
【问题描述】:
我的 android 模拟器(没有 play store 的 api 30)不时显示此错误对话框:
我点击“关闭应用”,屏幕瞬间变黑,然后一切又恢复正常了。
当它发生时,我会在 Logcat 中得到类似的堆栈跟踪:
2021-02-18 14:44:21.877 9796-15936/system_process E/ActivityManager: ANR in com.android.systemui
PID: 15778
Reason: executing service com.android.systemui/.dump.SystemUIAuxiliaryDumpService
Load: 0.02 / 0.13 / 0.34
----- Output from /proc/pressure/memory -----
some avg10=0.00 avg60=0.00 avg300=0.00 total=2958378
full avg10=0.00 avg60=0.00 avg300=0.00 total=753369
----- End output from /proc/pressure/memory -----
CPU usage from 168833ms to 0ms ago (2021-02-18 14:41:31.636 to 2021-02-18 14:44:20.468):
2.5% 9796/system_server: 1.9% user + 0.6% kernel / faults: 31696 minor
0.7% 293/android.hardware.bluetooth@1.1-service.sim: 0.7% user + 0% kernel
0.4% 9954/com.android.bluetooth: 0.3% user + 0.1% kernel / faults: 294 minor
0.3% 313/android.hardware.sensors@2.1-service.multihal: 0% user + 0.2% kernel
0.2% 303/android.hardware.graphics.composer@2.3-service: 0.2% user + 0% kernel
0.1% 10165/com.android.phone: 0% user + 0% kernel / faults: 107 minor
0.1% 444/llkd: 0% user + 0% kernel / faults: 24 minor
0% 9024/kworker/u8:0-events_unbound: 0% user + 0% kernel
0% 382/adbd: 0% user + 0% kernel
0% 10426/com.google.android.gms.persistent: 0% user + 0% kernel / faults: 76 minor
0% 15861/kworker/u8:3-kverityd: 0% user + 0% kernel
0% 14944/com.google.android.youtube: 0% user + 0% kernel / faults: 56 minor
0% 171/logd: 0% user + 0% kernel / faults: 6 minor
0% 10059/android.hardware.gnss@2.0-service.ranchu: 0% user + 0% kernel
0% 10/rcu_preempt: 0% user + 0% kernel
0% 14581/com.google.android.apps.youtube.music: 0% user + 0% kernel / faults: 42 minor
0% 9762/netd: 0% user + 0% kernel / faults: 36 minor
0% 12125/com.google.android.apps.messaging: 0% user + 0% kernel / faults: 21 minor
0% 12334/com.google.android.ims: 0% user + 0% kernel / faults: 10 minor
0% 173/servicemanager: 0% user + 0% kernel
0% 362/logcat: 0% user + 0% kernel
0% 9/ksoftirqd/0: 0% user + 0% kernel
0% 15/migration/1: 0% user + 0% kernel
0% 16/ksoftirqd/1: 0% user + 0% kernel
0% 21/ksoftirqd/2: 0% user + 0% kernel
0% 26/ksoftirqd/3: 0% user + 0% kernel
0% 172/lmkd: 0% user + 0% kernel
0% 174/hwservicemanager: 0% user + 0% kernel
0% 182/vold: 0% user + 0% kernel / faults: 6 minor
0% 204/jbd2/dm-5-8: 0% user + 0% kernel
0% 287/statsd: 0% user + 0% kernel / faults: 1 minor
0% 304/android.hardware.health@2.1-service: 0% user + 0% kernel
0% 385/traced_probes: 0% user + 0% kernel
0% 439/android.hardware.biometrics.fingerprint@2.1-service: 0% user + 0% kernel
0% 478/netmgr: 0% user + 0% kernel
0% 10080/com.android.networkstack.process: 0% user + 0% kernel / faults: 31 minor
0% 14525/kworker/2:2-events: 0% user + 0% kernel
0% 15069/logcat: 0% user + 0% kernel
0% 15631/kworker/1:1-events_power_efficient: 0% user + 0% kernel
1.5% TOTAL: 0.7% user + 0.4% kernel + 0% iowait + 0.2% irq + 0% softirq
CPU usage from 20ms to 322ms later (2021-02-18 14:44:20.488 to 2021-02-18 14:44:20.791):
26% 9796/system_server: 15% user + 11% kernel / faults: 292 minor
22% 15936/AnrConsumer: 15% user + 7.6% kernel
8.3% TOTAL: 5% user + 3.3% kernel
由于我自己的应用程序没有关闭,并且堆栈跟踪中没有任何内容引用它,而且当我在此模拟器实例中运行任何应用程序时似乎会发生这种情况,我想问题出在模拟器本身而不是我的自己的应用程序。我的其他 api 模拟器不会遇到这个问题。
This another question 似乎指出了类似的问题,但我没有使用颤振,我也尝试了一些解决方案,但没有成功。
其他人是否有同样的问题并且能够解决它?你是怎么解决的?
注意:我已经在堆栈溢出上搜索了这个特定问题,并且能够找到其他一些有同样问题的人,但这些问题没有好的和有效的答案。我倾向于认为 api 30 模拟器仍然是“有问题的”,正如有人在其中一些问题中所建议的那样。不过能找到解决办法就好了。
【问题讨论】:
标签: android android-emulator avd