Когда AndroidManifest.xml считывается операционной системой

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

Ответ

Файл AndroidManifest.xml считывается системой в нескольких ключевых моментах:

  1. Установка приложения – система парсит манифест для получения базовой информации (permissions, components, package name и т.д.)

  2. Запуск компонентов – перед стартом Activity, Service, BroadcastReceiver или ContentProvider система проверяет их объявление в манифесте.

Пример проверки Activity в коде:

val intent = Intent(this, SomeActivity::class.java)
if (intent.resolveActivity(packageManager) != null) {
    startActivity(intent)
}
  1. Системные события – например, при получении broadcast'а система сверяется с манифестом на предмет зарегистрированных ресиверов.

Важно: манифест читается не полностью при старте приложения, а выборочно по мере необходимости для оптимизации производительности.