Конфигурация и непрерывность

Значок адаптивной готовности 3-го уровня

Уровень 3 — Готовность к адаптации

Конфигурация представляет собой сочетание состояния устройства и состояния системы. Состояние устройства включает ориентацию экрана, размер дисплея, сложенное или разложенное состояние складного устройства, наличие внешней клавиатуры, подключенные дисплеи. Состояние системы включает режимы отображения, такие как многооконный и многоэкранный, а также пользовательские настройки, такие как размер шрифта и язык.

Изменения конфигурации — это изменения состояния устройства или системы: повернутое устройство, измененный размер окна приложения, развернутое устройство, подключенное периферийное устройство или обновленные пользовательские настройки.

Устройства с большим экраном подвергаются тем же изменениям конфигурации, что и телефоны с маленьким экраном, но большие экраны также имеют уникальные особенности конфигурации, такие как:

  • Складывание и раскладывание устройства
  • Изменение размера окон произвольной формы, аналогичных окнам рабочего стола, в многооконном режиме.

Активный отдых

Android обрабатывает изменения конфигурации приложений, уничтожая и заново создавая активность, которая выполняется при изменении конфигурации. Android воссоздает активность с настройками и ресурсами, соответствующими новой конфигурации.

Разрабатывайте приложения с адаптивным дизайном, поддерживающим широкий диапазон размеров экранов и окон приложений, а также соотношения сторон, и система настройки Android обеспечит оптимальное отображение вашего приложения на больших и маленьких экранах.

Самостоятельное управление конфигурацией

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

Укажите, какие изменения конфигурации обрабатывает ваше приложение, установив атрибут android:configChanges элемента <activity> в манифесте вашего приложения.

Например, настройте ваше приложение для обработки изменений конфигурации в многооконном режиме:

<activity
  android:name=".MyActivity"
  android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout" />

Государственное управление

Независимо от того, обрабатывает ли Android изменение конфигурации за вас или вы делаете это самостоятельно, ваше приложение должно сохранять контекст и состояние. После изменения конфигурации пользователи должны иметь возможность возобновить взаимодействие с вашим приложением без нарушения непрерывности и без потери данных, например, когда изменение конфигурации происходит во время воспроизведения мультимедиа или ввода данных, соответственно.

Следующие шаги

Для получения дополнительной информации о том, как обрабатывать изменения конфигурации и обеспечивать непрерывность работы приложения, см. следующие руководства для разработчиков: