Разница между убийцей задач, убивающим приложение, и ОС Android, убивающим приложение - PullRequest
10 голосов
/ 30 сентября 2010

Есть ли разница между тем, что происходит, когда вы используете приложение Task Killer, чтобы убить приложение, и тем, что происходит, когда ОС Android убивает приложение из-за ограниченных ресурсов?

В Android SDK говорится, что *Метод 1003 * не вызывается, когда ОС убивает приложение из-за ограниченных ресурсов.Похоже, что ОС не совсем закрывает приложения и делает именно то, что делают широко обсуждаемые убийцы задач.

Если они делают то же самое, то убийцы задач не причиняют больше вреда, чемсама ОС, верно?

Ответы [ 3 ]

6 голосов
/ 30 сентября 2010

На Фройо нет никакой разницы.:) Все, что может сделать убийца задач - это убить -9 процесс, когда он находится в фоновом режиме, что то же самое, что делает ОС, когда она хочет своей памяти.И да, это не чистый и упорядоченный выход, это «убей процесс мертвых прямо сейчас».На самом деле в обычных средах Android Application.onTerminate () никогда не будет уничтожен;процессы просто исчезают, убивая.

До того, как убийцы задач Froyo имели доступ к другому API - «принудительная остановка» - это позволяло им гораздо жестче останавливать все приложения.Это включает в себя остановку любых запущенных служб, удаление всех зарегистрированных аварийных сигналов, удаление уведомлений и т. Д.

3 голосов
/ 30 сентября 2010

Есть ли разница между тем, что происходит, когда вы используете приложение Task Killer, чтобы убить приложение, и тем, что происходит, когда ОС Android убивает приложение из-за ограниченных ресурсов?

Убийца задач убивает приложение с орбиты. Завершает процесс, удаляет все тревоги, удаляет все зарегистрированные PendingIntents (например, для обновлений местоположения) и т. Д.

В редких случаях, когда Android необходимо завершить процесс, чтобы освободить ОЗУ, он просто завершает процесс.

Если они делают то же самое, то убийцы задач не причиняют больше вреда, чем сама ОС, верно?

Нет, убийцы задач приносят приложению гораздо больший вред.

0 голосов
/ 30 сентября 2010

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

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

...