gpt4 book ai didi

android - saveInstanceState + restoreInstanceState VS configChanges

转载 作者:行者123 更新时间:2023-11-30 04:53:34 27 4
gpt4 key购买 nike

我遇到了两种方法来防止 Activity 在屏幕旋转时重绘。一种是 saveInstanceState + restoreInstanceState 组合,我仍然未能成功实现。

另一个是在manifest文件的activity标签中声明configChanges属性为orientation

我很好奇这两者之间有什么区别。

最佳答案

在一种情况下,您要处理所有相关配置更改无需重新启动 Activity。而在第二个时间里,您只需处理所需的用户状态变量,即保存和恢复它们。

当在运行时发生配置更改时, Activity 默认关闭并重新启动,但使用 android:configChanges 属性声明配置将阻止 Activity 重新启动。相反, Activity 保持运行并调用其 onConfigurationChanged() 方法,自行处理配置更改是一项复杂的任务,应避免。

由于处理配置更改隐藏的复杂性,不建议您自己处理配置更改。

但是,如果您无法使用首选选项(onSaveInstanceState()、ViewModels 和持久存储)保留您的 UI 状态,您可以改为阻止系统在某些配置更改期间重新启动您的 Activity。当配置发生变化时,您的应用程序将收到回调,以便您可以根据需要手动更新您的 Activity 。

[Reference link]

关于android - saveInstanceState + restoreInstanceState VS configChanges,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59579809/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com