配置和连续性

第 3 层级图标

第 3 层级 - 支持大屏设备

配置是设备状态和系统状态的组合。设备状态包括屏幕方向、显示大小、可折叠设备的折叠或展开状态、外部键盘可用性、连接的显示屏。系统状态包括显示模式(例如多窗口和多显示屏)以及用户定义的设置(例如字体大小和语言区域)。

配置变更是指设备或系统状态变更:旋转设备、调整应用窗口大小、展开设备、连接外围设备或更新用户设置。

大屏设备会经历与小屏手机相同的配置变更,但大屏设备也会有独特的配置变更,例如:

  • 设备折叠和展开
  • 在多窗口模式下调整自由式窗口的大小

activity 重新创建

Android 通过销毁并重新创建在发生配置变更时运行的 activity 来处理应用的配置变更。Android 会使用可适应新配置的设置和资源重新创建 activity。

在设计应用时,采用支持各种屏幕尺寸及应用窗口大小和宽高比的响应式/自适应布局,而 Android 框架的配置处理功能将在大屏设备和小屏设备上提供最佳的应用呈现效果。

自行管理配置

对于特殊情况(例如针对特定应用的优化),让应用处理配置变更,而不是让 Android 销毁并重新创建应用的 activity。

通过在应用清单中设置 <activity> 元素的 android:configChanges 属性,指定应用处理的配置变更。

例如,让应用处理多窗口模式配置变更:

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

状态管理

无论 Android 为您处理配置变更,还是由您自行处理,应用都必须维护上下文和状态。配置发生变更后,用户应该能够在不破坏连续性且不会丢失数据的情况下恢复与应用的互动,例如,在媒体播放或数据输入期间发生配置变更时。

后续步骤

如需详细了解如何处理配置变更及保持应用连续性,请参阅以下开发者指南: