Приоритеты процессов
Процессы делятся по приоритету на 4 вида, в порядке убывания:
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()
состоянии.
Система убивает процессы в порядке возрастания их приоритета для восстановления ресурсов. Подробнее
#Lifecycle
#System
>>Click here to continue<<