android - 为什么启动超过 2 个 AVD 仅在特定条件下有效

标签 android android-virtual-device

我遇到了我不完全理解的奇怪问题。我尝试从终端启动 2 个以上的 AVD。它甚至适用于 4 个 AVD,但仅适用于特殊条件。

有一个代码用于 3 个 AVD:

echo "no" | $ANDROID_HOME/tools/android create avd --name "Test-Emulator-API23-Nexus-5" --target "Google Inc.:Google APIs:23" --abi google_apis/x86_64  --device "Nexus 5" --skin "1080x1920"
echo "no" | $ANDROID_HOME/tools/android create avd --name "Test-Emulator-API23-Nexus-7" --target "Google Inc.:Google APIs:23" --abi google_apis/x86_64  --device "Nexus 7" --skin "1200x1920"
echo "no" | $ANDROID_HOME/tools/android create avd --name "Test-Emulator-API23-Nexus-10" --target "Google Inc.:Google APIs:23" --abi google_apis/x86_64  --device "Nexus 10" --skin "2560x1600"

$ANDROID_HOME/platform-tools/adb kill-server
$ANDROID_HOME/platform-tools/adb start-server

$ANDROID_HOME/tools/emulator -port 5556 -avd Test-Emulator-API23-Nexus-5  -gpu on &>/dev/null &
$ANDROID_HOME/tools/emulator -port 5558 -avd Test-Emulator-API23-Nexus-7  -gpu on &>/dev/null &
$ANDROID_HOME/tools/emulator -port 5560 -avd Test-Emulator-API23-Nexus-10  -gpu on &>/dev/null &

当我复制粘贴最后 3 个 channel 时,它会立即将 AVD 启动到终端。然后所有 3 个 AVD 同时启动并成功启动。它也适用于 4 个 AVD。

如果我尝试按顺序执行,它将不允许我启动超过 2 个 AVD。所以我为 Nexus-5 设置了第一个发射 channel 。我等到它完全启动。然后我为 Nexus-7 设置了第二个启动 channel ——它也成功启动了。然后,如果我尝试启动更多 AVD,我会卡住 - 启动时黑屏卡住。

知道为什么会这样吗?为什么我可以同时启动多个AVD,但不能一个一个启动?

enter image description here

最佳答案

问题与为 HAXM 设置的内存限额有关。默认情况下,我的 HAXM RAM 使用量是 2gb。重新安装HAXM后

https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager

并为其分配 6gb 内存,我能够按顺序启动 4 个 AVD。

我猜它之前为什么起作用是:因为所有 AVD 都是同时启动的 - 在同一时刻,它们都通过了内存限制检查,因此它们被允许运行。

关于android - 为什么启动超过 2 个 AVD 仅在特定条件下有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40606325/

相关文章:

java - 将 POST 数据从 Android 应用程序发送到 PHP MySQL

android - 如何将一个大文件或多个文件发送到其他应用程序,并知道何时删除它们?

java - 学习 Java - 告诉我有关具有另一个类的数据类型的输入变量的构造函数的更多信息

android - ViewPager2 setOffscreenPageLimit() 似乎不起作用

android - 针对 Android Proguard 混淆的 ANT 构建

android - 存在的 AVD 不会在 "Target Tab"中列出

android - 虚拟机 Hyper-V Windows Server 2008 上的 AVD 错误

android - “kernel-qemu” 丢失。 - AVD 经理

java - Android 查看视频文件的隐式 Intent

Android Studio 模拟器找不到 wglgetextensionsstringarb