1. Видимый активный процесс (Foreground process). В этом процессе работает приложение, с которым взаимодействует пользователь. Процесс находится в этом состоянии в следующих случаях:
-
Activity
, у которой вызван onResume()
, но еще не вызван onPause()
- Во время выполнения
BroadcastReceiver.onReceive()
- Запущен
Service
и выполняется один из колбэков: onCreate()
, onStart()
, onDestroy()
2. Видимый процесс. Пользователь знает о приложении, запущенном в этом процессе, но не взаимодействует с ним:
-
Activity
у которой вызван onPause()
, но еще не вызван onStop()
.-
Service
, который запущен через Service.startForeground(). В этом случае пользователь видит нотификацию, связанную с сервисом.-
Service
, выполняющий функцию, о которой пользователь осведомлен. Например input method service.3. Background Service. Процесс с сервисом, запущенным командой startService().
4. Закэшированный процесс. К ним относятся пустые процессы, используемые при старте приложений, и процессы, в которых все активити в
onStop()
состоянии.Система убивает процессы в порядке возрастания их приоритета для восстановления ресурсов. Подробнее