Как запускается процесс в Android

«Как запускается процесс в Android» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

Основные моменты:

  • Процессы создаются с разными приоритетами (foreground, visible, service, cached и т.д.)
  • По умолчанию все компоненты приложения запускаются в одном процессе (указан в манифесте в <application android:process="...">)
  • Можно задать отдельный процесс для конкретного компонента

Пример в манифесте:

<application
    android:process=":background">
    <service 
        android:name=".MyService"
        android:process=":special_process"/>
</application>