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

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

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

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

Ответы

Ответ 1

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

$ killall --signal STOP emulator

или

$ killall --signal STOP emulator64-arm

В дальнейшем перейдите к

$ killall --signal CONT emulator

или

$ killall --signal CONT emulator64-arm

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

Ответ 2

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

Проверять моментальный снимок при создании вашего avd: Check snapshot enabled when creating your avd

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

Ensure launch and save snapshot are checked when launching

Ответ 3

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

$ telnet localhost 5554  
> avd stop  
> avd start

Ответ 4

В Mac OSX

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

PID-номер эмулятора

Остановить

В терминале 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, затем остановка процесса, а затем повторное выполнение этих шагов для перезапуска, казалось, работала безупречно.