【问题标题】:Android emulator uses 100% cpu even if nothing i running on it ?Android 模拟器使用 100% cpu,即使我没有运行它?
【发布时间】:2011-11-09 23:41:31
【问题描述】:

我有一个 celeron 处理器:/ eclipse 上的 android 模拟器使用 100% 的 cpu 并挂起所有东西,除非我杀死它。我只是从一本书中尝试一个 hello android 程序,对 android 甚至 eclipse 不太了解。我安装了 android-eclipseplugin。

有人可以帮我吗?谢谢!

【问题讨论】:

标签: android mobile emulation


【解决方案1】:

正如其他人所说,解决方案是禁用声音。不幸的是,在最近的 Android Studio 版本(我使用的是 1.4)中,禁用声音的选项已从 GUI 中删除。要禁用声音,您可以通过使用-noaudio 标志从命令行启动模拟器,或者通过编辑 AVD 的配置文件并设置以下参数来实现:

hw.audioInput=no
hw.audioOutput=no

在 Linux 上,我在 ~/.android/avd/myAVD.avd/config.ini 找到了那个文件

【讨论】:

  • 它位于 macOS 上的同一 ~/.android/avd/<image>/config.ini 位置。您可能需要添加 hw.audioOutput 行,因为当前 (2017-01) AVD 编辑器不包含它。对我来说也很有魅力:从 145% 的 CPU 降低到 30%(Macbook Pro 2016 年初)。
  • 在 Windows 上,文件位于:c:\Users\<username>\.android\avd\<imagename>\ 另外,设置hw.audioInput=no 就足够了。
  • 这不是解决问题的方法,而是一种变通方法。
  • 这不会为我禁用音频。
  • 这里一样,它不会在 Ubuntu 18.04 中禁用音频
【解决方案2】:

我遇到了完全相同的问题,并找到了适合我的解决方案。 在 AVD 的配置中,我将额外的标志“音频播放支持”设置为“否”。 我还确保 AVD 有 1GB 的 RAM。

这对我有用。

【讨论】:

  • “AVD 的配置”在哪里?在“运行配置”-“目标”-“附加模拟器命令行选项”-noaudio?
  • 在“编辑模拟器”-“新硬件属性”中找到。谢谢
  • 谢谢,-noaudio 模拟器选项解决了我在无头 vps 服务器上 ubuntu 11.10 上的问题(在 jenkins 中运行构建时)
  • 有人知道相关的android错误报告吗?
  • 我为此创建了一个错误报告:code.google.com/p/android/issues/detail?id=27594
【解决方案3】:

对我来说,取消选中 多核 CPU 复选框

【讨论】:

  • 这对我有帮助,我的 8Gigs RAM 和 i5 内核的 Ubuntu 机器在执行此操作之前是滞后的,但这对我有很大帮助
【解决方案4】:

尼尔斯的回答对我很有效https://stackoverflow.com/a/7706018 因为模拟器停止使用 100% CPU(下降到 10-15%) 此外,它还有另一个有用的“副作用”。我注意到在模拟器运行时在 Totem 中播放视频或在 RhythmBox 中播放音乐会阻塞。 VLC 会播放视频,但拒绝播放视频的配乐。 一旦模拟器被杀死,音乐就会开始播放。 Niels 将“音频播放支持”设置为“否”的回答防止了这个问题。 我正在运行 Ubuntu 11.04 和 Android 模拟器版本 13.0 (build_id OPENMASTER-172639)。

【讨论】:

  • 你应该将问题标记为重复
【解决方案5】:

我在我的 macOS High Sierra 上遇到了同样的问题,对我来说,帮助创建新的 AVD 设备并在 Android 版本对话框中选择 CPU/ABI = x86_64,而不是 x86。希望对您有所帮助。

【讨论】:

    【解决方案6】:

    Android 模拟器正在模拟没有硬件加速的 ARM CPU,即使在 core2duo 上也可能非常慢。

    您可以尝试降低虚拟设备的屏幕分辨率,这应该会导致小幅性能提升。

    【讨论】:

    • 问题是我已经将它设置为最低分辨率。
    【解决方案7】:

    模拟器的启动速度是出了名的慢;在动力不足的机器上可能需要 15 分钟或更长时间。您可以通过将-no-boot-anim 传递给模拟器启动命令来加快启动速度。其他仿真器选项在here 中进行了描述。此外,一些 AVD 的启动速度比其他的快。尝试使用对您有用的最低级别 SDK 创建 AVD。

    模拟器启动后,您无需将其关闭。当应用退出(或崩溃等)时,您可以再次运行它。

    【讨论】:

    • 我觉得问起来很愚蠢,但是我如何以及在哪里使用这些命令?我`mn xubuntu,我只知道如何在运行应用程序时启动模拟器。我试图从终端从工具运行它/ 目录,但它显示“找不到模拟器命令”。
    • 如果您使用的是 Eclipse,您可以在 Window > Android > Launch 下设置模拟器选项。您可以通过在 Eclipse 中打开 Android SDK 和 AVD 管理器(也在 Window 下,或单击工具栏中的 AVD 图标)来启动模拟器而不启动应用程序。要从命令行运行模拟器,请确保 <your_android_install_directory>/tools 在您的路径上。
    【解决方案8】:

    值得一提的是 Genymotion。它是一个基于 VirtualBox 的安卓模拟器,带有预先创建的图像。它支持一些现有 Android 模拟器不太擅长的功能,例如 Wifi 3G、蓝牙、GPS(具有精美的 Google 地图集成,因此您不必手动查找坐标)、多个屏幕等。

    值得一试http://www.genymotion.com/

    【讨论】:

      【解决方案9】:

      我在 Ubuntu 14.04 上运行模拟器时遇到了这个问题。禁用音频确实会降低 CPU 使用率,但如果您需要音频工作,可以通过添加符号链接来修复它:

      sudo ln -s /usr/lib/x86_64-linux-gnu/libpulse.so.0 /usr/lib/x86_64-linux-gnu/libpulse.so
      

      原因是模拟器尝试使用pulseaudio作为后端,但无法链接到libpulse.so,它在Ubuntu上不存在(除非你安装了libpulse-dev包)。然后又会回退到ALSA,不断调用poll,造成100%的CPU占用。

      fix for the emulator is coming,但现在,添加符号链接可以解决问题。

      【讨论】:

        【解决方案10】:

        我强烈建议不要使用安卓模拟器。使用VirtualBox + android x86 OS(你可以下载它here),你会得到真正的性能提升。

        不幸的是,据我记得,它不是来自 google,它只支持 Android 2.2。我真的不明白,为什么google不做模拟器和iPhone模拟器一样快,或者做x86官方发布调试。我不需要模拟 ARM 处理器指令,我认为 99% 的开发人员也不需要它。

        【讨论】:

        • "它只支持 Android 2.2" mmh OK 谁只为 Android 2.2 构建应用程序?
        猜你喜欢
        • 2019-06-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-09
        • 2019-07-06
        • 2013-08-22
        相关资源
        最近更新 更多