Android 防止活动在旋转时重新启动

Android 防止活动在旋转时重新启动,android,Android,我有一个应用程序在清单中使用以下sdk: <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> 我是否还需要覆盖活动本身中的onConfigurationChanged,如下所示: @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChan

我有一个应用程序在清单中使用以下sdk:

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />
我是否还需要覆盖活动本身中的
onConfigurationChanged
,如下所示:

   @Override
 public void onConfigurationChanged(Configuration newConfig) {
 super.onConfigurationChanged(newConfig);
 setContentView(R.layout.myLayout);
 }
或者清单中的这一行是否足够:

  android:configChanges="orientation|keyboardHidden|screenSize"

任何帮助都将不胜感激。

下面的清单足以阻止旋转:

android:configChanges="orientation|keyboardHidden|screenSize"
设置

按照

防止活动重新启动屏幕旋转

这通常不是一个好主意

我添加到清单中:
android:configChanges=“定向|键盘隐藏|屏幕大小”

这通常不是一个好主意。你所做的就是为自己创造更多的工作。您仍然必须拥有所有标准配置更改逻辑,以处理所有未在此处列出的配置更改,此外,您可能需要分别处理这三种情况

是否需要覆盖OnConfiguration已更改


这取决于您的UI是否根据配置而有所不同,对于您在
android:configChanges
中列出的配置(例如,纵向与横向是否不同?)。如果答案是“是”,那么
onConfigurationChanged()
就是为
android:configChanges
花名册中列出的事件修复该UI的地方。如果答案为“否”,则不需要重写此方法。

只需了解在活动中或需要使用时使用重写OnConfiguration代码的好处。我现在记不起来了,也找不到资源,但我确实知道谷歌实际上试图回避这种方法,并称它更像是一种黑客而不是一种方法,如果可能的话,应该使用onSavedInstanceState等。我会在稍后再给你回复更多细节。@TronicZomB Nice,我们会在这里等待
android:configChanges="orientation|keyboardHidden|screenSize"
android:screenOrientation="portrait"