Что такое процесс

Ответ

Процесс в Android — это экземпляр приложения, выполняющийся в изолированном окружении. Каждое приложение запускается в своем процессе с отдельной виртуальной машиной (VM).

Особенности:

  • По умолчанию у каждого приложения свой процесс (имя совпадает с пакетом).
  • Можно задать свой процесс в AndroidManifest.xml через атрибут android:process.
  • Процессы с высоким приоритетом (например, с видимым Activity) реже убиваются системой.

Пример:

<application
    android:process=":custom_process">
    <!-- Компоненты -->
</application>

Фоновые процессы могут быть завершены при нехватке памяти.

Ответ 18+ 🔞

Ну, слушай сюда, дружище, сейчас я тебе на пальцах объясню, что за зверь такой — процесс в андроиде. Представь себе: каждый твой софт — это как отдельная квартира в огромном доме-системе. И в каждой этой квартире своя, блядь, жизнь кипит, свой телевизор работает и своя виртуальная машина (это типа домоуправление внутри) хозяйничает. Они друг с другом через стены не слышат, если специально не договорятся — полная изоляция, ёпта. Вот это и есть процесс — экземпляр приложения в своём уютном, блядь, закутке.

Нюансы, на которые стоит обратить свой взор:

  • По дефолту, так уж заведено, каждому приложению выдают свою личную хату. Имя у этой хаты обычно совпадает с названием пакета, типа com.vasya.pupkin. Всё чинно, благородно.
  • Но если тебе мало этой благодати, если ты хитрая жопа и хочешь особых условий — пожалуйста! Можешь в манифесте (AndroidManifest.xml) прописать свой, уникальный процесс через этот самый android:process. Типа, "я не как все, я в пентхаусе на крыше". Это чтобы, например, часть твоего приложения жила особняком и не сдохла, если основную часть прибьют.
  • А вот тут внимание, э сабака сука, это важно! Система — она шлюха ненадёжная. У неё свои приоритеты. Та квартира, где в окне горит свет и видно активность (ну, типа Activity на переднем плане), — та под защитой. Её реже выселяют при нехватке памяти. А те, что фоном шуршат, — те первые кандидаты на вынос мозга. Доверия системе — ноль ебать, всегда помни об этом.

Смотри, как это выглядит в коде, тут всё просто:

<application
    android:process=":custom_process"> <!-- Вот тут твой особый пентхаус называется -->
    <!-- Все твои комнаты-компоненты тут -->
</application>

И да, чувак, запомни раз и навсегда: если системе станет тесно, если память на исходе, она без зазрения совести прибьёт твой фоновый процесс, как надоедливую муху. Он просто накроется медным тазом, и всё. Так что не расслабляйся, проектируй с умом, чтобы важные штуки не болтались где попало.