Для чего нужен флаг process у компонентов Android

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

Ответ

Флаг android:process в манифесте позволяет запускать компонент (Activity, Service, Receiver, Provider) в отдельном процессе.

Зачем:

  • Изоляция компонента (например, для безопасности)
  • Увеличение доступной памяти (каждый процесс имеет свой лимит)
  • Отделение стабильных компонентов от потенциально падающих

Пример:

<service
    android:name=".MyService"
    android:process=":remote" />

Нюансы:

  • :имя – приватный процесс (только для приложения)
  • Просто имя – глобальный процесс (можно использовать в других приложениях)
  • IPC становится сложнее (нужно использовать AIDL, Messenger и т.д.)
  • Увеличивает потребление памяти