App重启,Activity重新创建,业务逻辑重新执行,可能导致:
设置android:configChanges="layoutDirection"即可。
虽然Android官方文档(https://developer.android.com/guide/topics/manifest/activity-element#config)说明:
“layoutDirection” 布局方向发生变更 - 例如,自从左至右 (LTR) 更改为从右至左 (RTL)。 在 API 级别 17 中引入。
“locale” 语言区域发生变更 - 用户已为文本选择新的显示语言。
但是,很奇怪的是,设置locale并不起作用(测试环境targetSdkVersion 29,设备小米12 Android 11 or 模拟器api31)。
设置"layoutDirection"是有效的,Activity不会再被重建,而是回调到 onConfigurationChanged(Configuration newConfig),此时App内可酌情处理相关逻辑。