MultiLanguages icon indicating copy to clipboard operation
MultiLanguages copied to clipboard

[Bug]:如果在 Application 里的attachBaseContext方法设置了setDefaultLanguage会导致竖屏 activity 跳转横屏 activity 的生命周期走两遍

Open GGjin opened this issue 1 year ago • 8 comments

框架版本【必填】

9.3

问题描述【必填】

如果在 Application 里的attachBaseContext方法设置了setDefaultLanguage会导致竖屏 activity 跳转横屏 activity 的生命周期走两遍。https://github.com/GGjin/LanguagesDemo 这是复现项目

复现步骤【必填】

attachBaseContext里设置默认语言,再竖屏 activity 跳转横屏 activity

是否必现【必填】

项目 targetSdkVersion【必填】

目前 34 33 都有问题

出现问题的手机信息【必填】

三星 小米 荣耀 都能复现

出现问题的安卓版本【必填】

14 13 都遇到了

问题信息的来源渠道【必填】

自己遇到的

是部分机型还是所有机型都会出现【必答】

所有机型

框架最新的版本是否存在这个问题【必答】

框架文档是否提及了该问题【必答】

是否已经查阅框架文档但还未能解决的【必答】

issue 列表中是否有人曾提过类似的问题【必答】

是否已经搜索过了 issue 列表但还未能解决的【必答】

是否可以通过 Demo 来复现该问题【必答】

提供报错堆栈

这个项目本地运行不起来,所以我创建了个 demo 项目,里面有复现的代码。

提供截图或视频

image

提供解决方案

No response

GGjin avatar Jun 25 '24 09:06 GGjin

你在 demo 工程中把关于框架的代码去掉是否也会出现同样的问题?

getActivity avatar Jun 27 '24 08:06 getActivity

image

我下载了你的 Demo 工程进行了测试,发现并没有出现你说的这个问题。

getActivity avatar Jun 27 '24 08:06 getActivity

又测试了一下,Android13 和Android14 有问题,注释掉框架就正常。目前测试的机型有,小米 Android13,荣耀 Android14,三星 Android14。

GGjin avatar Jun 27 '24 09:06 GGjin

又测试了一下,Android13 和Android14 有问题,注释掉框架就正常。目前测试的机型有,小米 Android13,荣耀 Android14,三星 Android14。

你好,请问解决了吗,我这也有这个问题,不设置默认语言就没问题

geziin avatar Jun 27 '24 16:06 geziin

image 经过调试 注释掉这里就好了,这块 是做什么的呢

GGjin avatar Jun 29 '24 13:06 GGjin

@GGjin 告诉系统当前应用的语种是什么

getActivity avatar Jun 29 '24 14:06 getActivity

@GGjin 你给要跳转的目标 Activity 清单文件上面加上 android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" 这个属性再试试,我测试加上之后就没有出现走两次生命周期的情况了。

getActivity avatar Jun 30 '24 04:06 getActivity

清单文件里这么写的话 确实不会重建了,但是 也不管什么情况下 都不会重建了,这个感觉也不太好吧。 告诉系统当前应用的语种是什么,有什么作用呢,能告知一下吗,大佬。

GGjin avatar Jul 01 '24 02:07 GGjin

你可以看一下 Android 13 的系统源码来了解。

getActivity avatar Jul 03 '24 04:07 getActivity

大白话就是:当设备发生屏幕旋转、键盘状态变化、语言切换、字体大小变化、UI模式变化等所有常见配置变化时,请不要重启我的 Activity,我来处理

AndroidBody avatar Jun 26 '25 11:06 AndroidBody