Android 避免在方向更改后重新加载视图

Android 避免在方向更改后重新加载视图,android,Android,我是android开发新手。最近我一直对这个问题感到困惑。 每次方向更改时,我的视图都会重新加载。我想避免这种情况。这是发生在从风景到肖像的变化上,反之亦然 在活动中的清单的下面一行: android:configChanges="orientation|screenSize" 因此,您的活动应该如下所示: <activity android:configChanges="orientation|screenSize" android:na

我是android开发新手。最近我一直对这个问题感到困惑。
每次方向更改时,我的视图都会重新加载。我想避免这种情况。这是发生在从风景到肖像的变化上,反之亦然

在活动中的清单的下面一行:

android:configChanges="orientation|screenSize"
因此,您的活动应该如下所示:

<activity
            android:configChanges="orientation|screenSize"
            android:name=".YourActivity"/>


这样可以防止在方向更改时破坏活动。

Android在方向更改后重新加载视图的原因是,此视图很可能是方向更改前显示的视图以外的另一个视图,例如,使用新的布局、字体大小、图像视图或其他资源。Android系统能够在方向改变的情况下自动加载不同屏幕尺寸(例如高度、宽度、密度等)的合适资源

为此,Android首先调用活动的
onDestroy()
方法,然后调用其
onCreate()
方法以使活动能够重新加载资源和活动状态

如果出于某种原因您不希望出现这种行为,您可以遵循上述建议,向活动元素添加
android:configChanges
属性。在这种情况下,Android调用活动的
onConfigurationChanged()
方法,而不是
onDestroy()
onCreate()
onConfigurationChanged()
是放置代码以适应新方向(如有必要)的方法。如果没有,也可以将其留空


如需进一步阅读,请参阅

它必须重新加载才能保持新布局的正确大小。这种方法确实有效。也许您可以发布一些代码来理解您的问题?我一直在想为什么视图在方向更改时加载,而视图在方向更改之前就已经加载了…可能您的代码中有smth错误。创建简单项目并应用我的解决方案。您将看到,这种方法是有效的