onConfigurationChanged
是 Android 操作系统中的一个回调方法,当设备的配置发生变化时,系统会调用这个方法。这里的配置变化可能包括:
- 语言或区域设置更改
- 键盘布局更改
- 方向更改(例如从横屏切换到竖屏)
- 网络连接状态更改
- 传感器配置更改等
onConfigurationChanged
的原理是:
- 当设备的配置发生变化时,系统会发送一个
Configuration
对象给当前活动的Activity
。这个对象包含了关于配置变化的信息,例如新的语言设置、键盘布局等。 - 当前活动的
Activity
会接收到这个Configuration
对象,并调用onConfigurationChanged
方法。 - 在
onConfigurationChanged
方法中,你可以根据需要处理配置变化。例如,你可能需要重新加载资源文件以适应新的语言设置,或者根据新的方向更改屏幕布局。
要在你的应用中使用 onConfigurationChanged
,你需要在 AndroidManifest.xml
文件中为相应的活动添加 android:configChanges
属性,并指定需要处理的配置变化类型。例如:
这样,当设备的配置发生变化时,系统会调用 MyActivity
的 onConfigurationChanged
方法,而不是重新创建该活动。这可以帮助你避免在配置变化时出现不必要的问题,例如活动状态丢失或数据丢失。