2016-11-15 2 views
2

Я столкнулся с странной проблемой, которую я не совсем понимаю. Я пытаюсь запустить более 2 AVD с терминала. Он работает даже для 4 AVD, но только при особых условиях.Почему запуск более 2 AVD работает только при определенных условиях

Существует код я использую для 3 AVDS:

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.

Это не позволит мне запускать более двух AVD, если я попытаюсь сделать это последовательно. Поэтому я поставил первую стартовую полосу для Nexus-5. Я жду, пока он полностью не загрузится. Затем я поставил вторую стартовую полосу для Nexus-7 - она ​​также успешно загружается. И затем, если я попытаюсь запустить больше AVD, я замерзаю - замораживание черного экрана при запуске.

Любая идея, почему это происходит? Почему я могу запускать много AVD одновременно, но я не могу запускать их один за другим?

enter image description here

+0

Я не уверен в двойном поведении, но, насколько мне известно, AVD занимает слишком много ОЗУ и может быть причиной того, что запуск большего количества AVD не оставляет места для ОЗУ для дальнейшего AVD. –

+0

Но если бы это было так, я бы не смог 4 AVD работают одновременно - но у меня (так что для них достаточно ресурсов). Проблема заключается только в том, как я пытаюсь их запустить. – F1sher

+0

Странный, но интересный вопрос. – miva2

ответ

1

Проблема связана с резервом памяти набора на HAXM. Мое использование HAXM RAM по умолчанию было 2gb. После переустановки HAXM

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

и назначение 6Гб памяти к нему, я могу начать 4 AVDS в последовательности.

Мое предположение, почему это сработало раньше: поскольку все AVD были запущены сразу - в тот же момент все они прошли проверку ограничения памяти и из-за этого им разрешили работать.

Смежные вопросы