системное изменение, которое влияет на ресурсы UI например, поворот экрана, смена языка или подключение клавиатуры по умолчанию приводит к пересозданию Activity пересоздание требуется, чтобы применить обновлённые ресурсы изменение можно обработать вручную с помощью onConfigurationChanged() это важно для адаптивного и многоязычного интерфейса сказывается на жизненном цикле и сохранении состояния UI
Что в Android считается изменением конфигурации?
системное изменение, которое влияет на ресурсы UI например, поворот экрана, смена языка или подключение клавиатуры по умолчанию приводит к пересозданию Activity пересоздание требуется, чтобы применить обновлённые…
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Что в Android считается изменением конфигурации?
- системное изменение, которое влияет на ресурсы UI
- например, поворот экрана, смена языка или подключение клавиатуры
- по умолчанию приводит к пересозданию Activity
- пересоздание требуется, чтобы применить обновлённые ресурсы
- изменение можно обработать вручную с помощью onConfigurationChanged()
- это важно для адаптивного и многоязычного интерфейса
- сказывается на жизненном цикле и сохранении состояния UI
Подробный ответ
Основной ответ
Изменение конфигурации в Android — это ситуация, когда система пересоздаёт активити или фрагмент после изменения параметров среды выполнения, способных повлиять на внешний вид и поведение приложения. К таким случаям относятся, например, поворот экрана, смена языка, изменение размера шрифта и подключение внешнего дисплея.
Ключевые моменты
- Типы событий смены конфигурации: чаще всего меняется ориентация экрана (portrait ↔ landscape), язык (locale) или размер экрана — например, при запуске приложения на планшете либо foldable устройстве. Также конфигурация меняется при появлении клавиатуры и переключении темы (светлой/тёмной).
- Поведение системы: по умолчанию при смене конфигурации Android уничтожает текущую активити, а затем создаёт её заново, повторно проходя методы жизненного цикла (onDestroy → onCreate). Благодаря этому приложение загружает ресурсы, соответствующие новым условиям, например layout для landscape.
- Обработка изменений: разработчик может перехватить смену конфигурации через
onConfigurationChanged()в манифесте и перечислить необходимые конфигурации с помощью атрибутаandroid:configChanges. Тогда активити не будет автоматически пересоздана, а интерфейс можно обновить вручную.
Практический контекст
В Android 11+ и более новых версиях необходимо учитывать большое количество конфигурационных параметров, особенно при адаптации UI к разным экранам и поддержке мультиязычности. Для сохранения данных между пересозданиями активити из-за смены конфигурации часто применяют ViewModel и сохранение состояния через onSaveInstanceState. Это помогает не терять данные и поддерживать привычный пользовательский опыт.