Как остановить программу, запущенную под Eclipse? - PullRequest
107 голосов
/ 11 февраля 2011

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

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

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

Ответы [ 9 ]

112 голосов
/ 11 февраля 2011

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

77 голосов
/ 13 сентября 2012

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

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

13 голосов
/ 11 февраля 2011

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

11 голосов
/ 11 февраля 2011

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

7 голосов
/ 15 мая 2012

Работая для меня.

Windows -> Открытая перспектива -> Прочее ... -> DDMS

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

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

2 голосов
/ 16 мая 2013

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

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

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

0 голосов
/ 24 февраля 2015

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

0 голосов
/ 22 января 2015

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 для принудительного выхода из командной строки.

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

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

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

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

enter image description here

0 голосов
/ 04 ноября 2011

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

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