it-swarm-ru.tech

Как остановить программу, запущенную под Eclipse?

Я не могу найти опцию, чтобы остановить работающую программу (будь то в режиме отладки или выпуска).

Поэтому сейчас я прекращаю программу (возвращая управление Eclipse), просто закрывая эмулятор.

Есть ли лучший способ сделать это? Так что мне не нужно закрывать (и перезапускать) эмулятор?

107
Android Eve

Я так понимаю, вы хотите остановить свое приложение на эмуляторе. Для этого вы можете открыть окно устройств (в перспективе отладки), выбрать процесс и затем нажать кнопку остановки в том же окне.

112
Varun

Те, кто считает утомительным переключение между перспективами, чтобы остановить программу (как я сделал), вы можете просматривать окна устройств в вашей текущей перспективе, выбрав

Windows> Показать представление> Другое ...> Android> Устройства

77
GeekityGeek

Имейте в виду, что на Android программы, как правило, "останавливаются", только когда вы заканчиваете (), или система уничтожает их, когда требуется память. Зачем вообще останавливаться? Вам не нужно останавливаться, чтобы исправить/переустановить/повторно протестировать, например.

13
DJC

В перспективе "Отладка" выберите корень приложения в разделе "Отладка" (где находится список активных потоков) и нажмите кнопку "Стоп".

11
Chris Thompson

Работаю на меня.

Windows -> Открытая перспектива -> Другое ... -> DDMS

  1. В представлении Android в левом окне вы можете увидеть "Устройства". Должен быть список запущенных приложений (эмулятор или физические устройства). Нажмите на приложение, которое вы хотите закрыть. Обычно имя - это имя пакета + название приложения
  2. Теперь нажмите на символ "Стоп".

Чтобы вернуться к обычному виду, просто нажмите кнопку Java в правой верхней части. Вы также можете сделать это, нажав: Windows -> Открыть перспективу -> Другое ... -> Java

7
Zain Ali

этот ответ не касается Eclipse, но поскольку этот вопрос возникает в поиске Google для остановки работающей программы Android, я хотел бы предложить метод командной строки. запустите adb Shell, найдите PID процесса, который вы хотите уничтожить с помощью ps, например мой был:

u0_a46 2097 37 175520 19912 ffffffff 40037ebc S net.unternet.bleah.blarg

так что просто kill 2097 и вы увидите, что снова появляется главный экран.

2
jcomeau_ictx

Добавьте точку останова в свой код, где вы хотите остановить, а затем запустите ее в режиме отладки, нажав F11.

0
salman khalid

Android Zombies Рисунок 1 - Многие зомби были убиты во время исследования этого ответа

Уничтожение процесса Android приложения Java VM на уровне ОС не рекомендуется. К сожалению, это именно то, что делает окно "stop" устройства Eclipse, как и System.exit () и команда "kill" оболочки.

Это подрывает обычные методы жизненного цикла приложения, такие как onStop (), onDestroy () и finalize ().

Многие приложения требуют этих методов для корректного выхода (например, если они используют системные объекты, такие как Sensor, MediaPlayer, Equalizer, Visualizer и т.д.).

Эти системные объекты держатся в руках зомби на системных ресурсах, если release () не вызывается явно во время этих методов жизненного цикла. Смотрите рис. 1 выше. Это может помешать перезапуску приложения и даже потребовать перезагрузки. Это неблагодарный аспект.

Единственное решение - убедиться, что вы всегда корректно выходите из приложения, вызывая onStop (), onDestroy () или, по крайней мере, finalize (). Это делает отладчик, как и ОС при завершении работы.

Вы можете настроить свое приложение так, чтобы оно перехватывало события SIG_HUP для принудительного выхода из командной строки.

Единственный раз, когда вы убьете приложение VM, находится в состоянии ANR (уже зомби). ANR должны быть фиксированными. Никогда не развертывайте приложение, которое может войти в это состояние. Это очень грубо.

Вы можете использовать аналитику Google и Play Store, чтобы отслеживать их в процессе развертывания. Вы не хотите, чтобы сердитые пользователи давали отзывы об одной звезде ANR после перезагрузки из-за вашего приложения-зомби. Очень плохой.

Помните, что Android - это Linux: относитесь к нему как к настоящей ОС и соблюдайте жизненный цикл приложения, в противном случае вы непременно столкнетесь со страшным Зомби-Апокалипсисом.

PS: Если вам не нравится аналогия с зомби, как насчет Fantasia?

enter image description here

0
Dominic Cerisano

Смотрите картинку: 1. Нажмите на DDMS; 2. Выберите текущее приложение; 3. Нажмите "Стоп" enter image description here

0
Eugene Bosikov