Получить уведомление, когда процесс завершается или убит на Android - PullRequest
1 голос
/ 26 октября 2011

Я копался в Интернете, пытаясь найти хорошее андроидное решение для этой конкретной проблемы, но пока не нашел его, поэтому я отправляю свой первый вопрос на StackOverflow.

Чтобы подробнее остановиться на моемпроблема, у меня есть полноценная служба помощи, с которой связаны некоторые другие процессы.Мой сервис будет выделять некоторые ресурсы для каждого подключающегося к нему процесса, и я хочу сделать этот оператор жирным, выделение ресурсов сделано для процесса, я выполняю какое-то отслеживание сеанса, где getCallingPid () и getCallingUid () играютроль идентификаторов сеансов.

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

Одно решение, которое я нашел несколько выполнимым, это просто опрос ActivityManager.getRunningAppProcesses и вычисление разницы в наборе между текущим и предыдущим снимками, но этот метод выглядит очень грязным.1009 *

Может ли кто-нибудь предложить лучший способ сделать это?Я был бы очень благодарен!

Спасибо,

Giorgi

1 Ответ

1 голос
/ 26 октября 2011

Насколько я знаю, Android не будет сообщать вам, когда процессы будут убиты.

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

Это не красиво, но, вероятно, это единственный способ сделать это.

...