Кто занимается уничтожением процессов

«Кто занимается уничтожением процессов» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Android уничтожением процессов занимается система, а именно ActivityManagerService (AMS). Он управляет жизненным циклом приложений, освобождая ресурсы при нехватке памяти или по другим системным условиям.

Приоритеты уничтожения:

  1. Пустые процессы (без активных компонентов).
  2. Фоновые процессы (невидимые пользователю).
  3. Сервисные процессы (завершаются реже).
  4. Видимые/активные процессы (уничтожаются в последнюю очередь).

Пример:

// Принудительное завершение процесса (не рекомендуется!)
android.os.Process.killProcess(android.os.Process.myPid())

Важно: Пользователь или система могут завершить процесс, но приложение должно корректно сохранять состояние.