Какой компонент Android проинициализируется раньше вызова onCreate у Application

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

Ответ

ContentProvider инициализируется до onCreate() Application. Это связано с тем, что система может потребовать доступ к провайдеру до полной инициализации приложения (например, для синхронизации или других системных сервисов).

Пример:

class MyProvider : ContentProvider() {
    override fun onCreate(): Boolean {
        // Выполнится до Application.onCreate()
        return true
    }
}

Важно учитывать это при проектировании зависимостей между компонентами, так как в ContentProvider.onCreate() еще не доступны зависимости, которые инициализируются в Application.