TGViewer
Android Interview Review Android Interview Review @androidsobes · 3.51K subscribers
Post #319 7.73K
Может ли приложение быть запущено в нескольких процессах?

Короткий ответ – Да.

Но для начала давайте разберемся чем процесс отличается от потока.

Процесс – это сущность на уровне ОС. Каждая программа может быть запущена в одном или нескольких процессах.

Поток – это сущность на уровне Runtime Environment.

Программа может выполняться в нескольких процессах. В каждом из процессов может быть создано несколько потоков (Java Threads).

Вернемся к андроиду. В предыдущем посте мы рассмотрели базовые компоненты и узнали, что каждый из компонентов может быть точкой входа в приложение. По умолчанию компоненты приложения работают в дефолтном процессе, но каждый из компонентов <activity>, <service>, <receiver>, <provider> может иметь поле android:process="<name>" в андроид манифесте. Кастомное значение этого поля явно говорит системе в каком процессе будет работать компонент.

Важно: При старте нового процесса создается инстанс приложения и снова вызывается Application.onCreate(). Если в этом методе вы инициализируете модули или библиотеки, которые используются только в главном процессе, то не забывайте проверять, в каком процессе вы находитесь в момент инициализации.

Подробнее про процессы и треды читайте в документации.

#System
More from @androidsobes
  1. Sep 15, 2022Метод FragmentManager.commit() – синхронный или нет? – Асинхронный. Это значит, что транза…
  2. Sep 13, 2022Чем отличается tag в методах add() и addToBackStack()? Tag в методе add() присваивается фр…
  3. Sep 7, 2022Важен ли порядок, в котором добавляются операции в FragmentTransaction? Документация описы…
  4. Sep 6, 2022Расскажите про способы добавления и переключения фрагментов. Как работать с бэкстэком? Для…
  5. Sep 2, 2022Fragment Fragment используется для отображения части UI на экране. Фрагмент создается внут…
  6. Sep 1, 2022Нужно ли думать о сохранении состояния, если приложение поддерживает только портретную ори…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →