Android 为什么只有在特定条件下才能启动2个以上的AVD
我遇到了一个我不完全理解的奇怪问题。我尝试从终端启动2个以上的AVD。它甚至适用于4个AVD,但仅适用于特殊条件 我为3个AVD使用了一个代码:Android 为什么只有在特定条件下才能启动2个以上的AVD,android,avd,Android,Avd,我遇到了一个我不完全理解的奇怪问题。我尝试从终端启动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
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条通道,立即将AVD启动到终端时,它就起作用了。然后所有3个AVD同时启动并成功启动。它也适用于4个AVD
如果我尝试按顺序执行,它将不允许我启动超过2个AVD。所以我把Nexus-5放在了第一条发射通道上。我一直等到它完全启动。然后我把Nexus-7放在第二条发射通道上——它也成功地启动了。然后,如果我尝试启动更多的AVD,我会被冻结-启动时黑屏冻结
知道为什么会这样吗?为什么我可以同时启动多个AVD,但我不能逐个启动它们
问题与设置为HAXM的内存余量有关。默认情况下,我的HAXM RAM使用量是2gb。重新安装HAXM后 分配6gb的内存,我可以按顺序启动4个AVD
我猜测它以前工作的原因是:因为所有AVD都是同时启动的——在同一时刻,所有AVD都通过了内存限制检查,因此它们被允许运行。我不确定是否存在双重行为,但据我所知,AVD占用了太多的RAM,这可能就是为什么启动更多AVD时没有为进一步的AVD留下RAM空间的原因。但如果是这样的话,我不能让4个AVD同时工作——但我有(因此有足够的资源支持它们)。问题只是我尝试启动它们的方式。奇怪但有趣的问题。