Ответ
Процесс в 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>