Я попытался закрыть приложение с помощью метода finish (), но метод finish () просто завершает действие, приложение не закрывается. Теперь я использую System.exit (0), чтобы закрыть приложение, иногда оно работает, но иногда выдает исключение. Как полностью выйти из приложения ??

1
Prachi 30 Авг 2011 в 11:13

2 ответа

Лучший ответ

Хорошо, вы можете получить ProcessID вашего приложения и в onDestroy () убить этот процесс. Вот и все

int pid=android.os.Process.myPid();
android.os.Process.killProcess(pid);
2
Mohammed Azharuddin Shaikh 30 Авг 2011 в 07:16

Модель памяти Android немного странная - в основном ОС решает за вас, когда она действительно хочет выйти. Пока ваше приложение не использует полосу пропускания или чрезмерное время процессора (читай: деньги пользователя или время процессора), конструкция системы Android такова, что вы должны просто оставить ее работающей, а система убьет само приложение, когда ему нужны ресурсы.

Что вам нужно сделать, так это перестать использовать (через finish () или другими способами) полосу пропускания, время процессора или тому подобное, сбросить любое состояние, которое вам нужно, чтобы обеспечить желаемый пользовательский интерфейс, сбросить любые блокировки пробуждения или аналогичные различные модификации оборудования, которые вы ' ve и завершите все службы, которые действительно не хотите продолжать, с помощью stopSelf ().

Если / когда в ОС исчерпывается память (это единственный раз, когда действительно имеет значение, действительно ли действие исчезло или просто ничего не происходит в данный момент), это бесцеремонно принудительно принудительно уничтожит действия или службы (без запуска какого-либо кода очистки или события обработчики), основанный на довольно сложном наборе приоритетов, который в основном сводится к «не выбрасывать ничего, что пользователь использует / заметит».

1
azernik 30 Авг 2011 в 07:31