gpt4 book ai didi

java - Android 方向改变时 Activity 重新加载

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:40:25 24 4
gpt4 key购买 nike

当我的主要 Activity 在初始屏幕后开始时,它会解析 4 个大的 XML 文件。这需要几秒钟,我可以在启动屏幕显示时隐藏它。

但是当屏幕方向发生变化时,或者当我在子 Activity 之后返回主 Activity 时,它会再次解析,因此我的应用程序会“挂起”几秒钟,并且在那段时间没有响应或任何事情。

我知道这在 Android 中是正常行为,但有没有办法避免这种情况?

我读了一些关于 savedinstancestate 的东西,但我似乎无法理解文档..

最佳答案

如果您的目标是 API 级别 12 或更低,请将此代码添加到每个 Activity 节点的 android list 文件中。

android:configChanges="orientation|keyboardHidden"

对于 13 级及以上的级别,您还必须包括“screensize”,即:

    android:configChanges="orientation|keyboardHidden|screenSize"

现在将此代码粘贴到您每个 Activity 的 java 类中。

@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);

// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
}
// Checks whether a hardware keyboard is available
if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) {
Toast.makeText(this, "keyboard visible", Toast.LENGTH_SHORT).show();
} else if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_YES) {
Toast.makeText(this, "keyboard hidden", Toast.LENGTH_SHORT).show();
}
}

关于java - Android 方向改变时 Activity 重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4364545/

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