Android模拟器不时显示 "System UI isn' t responding”对话框

标签 android android-emulator android-virtual-device

我的 android 模拟器(没有 play store 的 api 30)不时显示这个错误对话框:

enter image description here

我点击“关闭应用程序”,屏幕瞬间变黑,然后一切恢复正常。

发生这种情况时,我会在 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似乎指出了类似的问题,但我没有使用 flutter,我也尝试了它的一些解决方案,但没有成功。

有没有其他人遇到同样的问题并且能够解决的?你是怎么解决的?

注意:我在堆栈溢出上搜索了这个特定问题,并且能够找到其他一些有同样问题的人,但这些问题没有好的和有效的答案。我倾向于认为 api 30 模拟器仍然是“有问题的”,正如有人在其中一些问题中所建议的那样。但如果能找到解决方案就好了。

最佳答案

  1. 打开 AVD 管理器
  2. 编辑配置设备
  3. 显示高级设置
  4. 查看图形并选择硬件
  5. 保存并重试

如果图形无法选择...

前往

C:\Users\YOUR_USERNAME\.android\avd\YOUR_DEVICE.avd

并在 config.ini 存档中为 hw.gpu.mode = host 编辑 hw.gpu.mode = auto

保存、退出、重启 Android Studio 并再次模拟您的设备。

关于Android模拟器不时显示 "System UI isn' t responding”对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66265999/

相关文章:

Android 3 - 以编程方式添加 fragment : Illegal state exception

Android fragment 在父 onPause 和 onResume 之后不可见

java - 当android网络连接较弱时如何处理网络调用

android - 如何将android镜像导入到SDK中?

android - 通过适配器在 fragment 之间传递数据 (Kotlin Android)

java - 如何模拟真正的外部 sd(更新 : removable storage) card in Android Emulator

具有硬件加速 OpenGL ES 3.0 的 Android 模拟器色带

android - 如何防止软键盘显示,或者至少在显示后将其驱逐?

android - 如何在 AVD Eclipse 上运行和编译 Android 应用程序

java - 如何确定我的 Android 应用程序是否在 AVD 中运行