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() состоянии.Система убивает процессы в порядке возрастания их приоритета для восстановления ресурсов. Подробнее