Способ приостановить эмулятор Android?

Я делаю много разработки на своем ноутбуке, и я использую различные эмуляторы Android, чтобы сделать это. При запуске эмулятор часто занимает большое количество моего процессора и, следовательно, значительно уменьшает время автономной работы моего ноутбука.

есть ли способ временно приостановить эмулятор или, по крайней мере, выключить то, что потребляет весь ненужный процессор?

Я знаю, что с sdk r9 и позже я могу сделать снимок эмулятора и выйти / перезапустить его справедливо быстро, но я надеюсь на что-то еще менее инвазивное для моего рабочего потока, чем это.

4 ответов


в Linux вы можете остановить процесс с помощью

$ killall --signal STOP emulator

или

$ killall --signal STOP emulator64-arm

в более позднее время продолжить

$ killall --signal CONT emulator

или

$ killall --signal CONT emulator64-arm

понял: если вы обновляете Eclipse, убедитесь, что эмулятор не остановлен при перезапуске eclipse. Eclipse остановится при загрузке, ожидая продолжения остановленного эмулятора.


новейшая версия adt поддерживает моментальные снимки эмулятора, то есть вы можете просто закрыть эмулятор и быстро вернуть его туда, где он был. Поэтому, чтобы решить вашу проблему, просто закройте эмулятор и восстановите его, когда вам это нужно.

проверка моментального снимка включена при создании avd: Check snapshot enabled when creating your avd

убедитесь, что запуск и сохранение моментального снимка проверяются при запуске:

Ensure launch and save snapshot are checked when launching


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

$ telnet localhost 5554  
> avd stop  
> avd start

на Mac OSX

используя Activity Monitor, найдите процесс ID # (PID) для своего эмулятора.

PID number of emulator

Остановить

в терминале telnet к вашему эмулятору:

telnet localhost 5554

остановить эмулятор

avd stop

в другом окне терминала остановите (приостановите) процесс (19636-пример PID, вам понадобится конкретный PID для вашего эмулятора из Activity Monitor):

kill -STOP 19636

для Перезапустить

чтобы перезапустить эмулятор, из подключения telnet к эмулятору:

avd start

затем, наконец, продолжить процесс с терминала OSX:

kill -CONT 19636

я обнаружил, что просто выполнение kill-STOP / CONT не позволит эмулятору вернуться к жизни при попытке перезапуска. После продолжения процесса эмулятор останется замороженным, хотя его использование ЦП вернется в нормальное состояние.

остановка эмулятора через telnet, затем остановка процесс, затем обращая эти шаги к перезапуску, казалось, работал безупречно.