首页 > 解决方案 > “android:configChanges”有什么作用?

问题描述

我正在创建一个支持 pip 模式的应用程序。我遇到了android:configChanges。它有什么作用?

标签: android

解决方案


在Android中,当设备配置发生变化(如用户旋转屏幕方向、改变语言等)时,系统会重启正在运行的Activity(onDestroyed()被调用,后跟onCreate())以应用新的配置。

如果您的应用程序不希望这种行为发生(也许您不想重新启动正在运行的活动,或者您想自己应用新配置),那么您可以声明活动将自行处理配置,从而防止系统重新启动活动。

为此,您需要转到 AndroidManifest.xml 文件,找到适当的<activity>标记,添加 android:configChanges属性值,该值表示您要处理的配置。

现在,当配置更改时,系统不会重新启动您的活动。相反,您的活动将收到对onConfigurationChanged(Configuration)方法的调用以及新配置。

你应该去activity-element,阅读“android:configChanges”部分,你会明白的。顺便说一句,Android 在此处提供了有关如何在运行时处理配置更改的文档。


推荐阅读