Android应用程序重新启动方向更改

当我改变方向应用程序重新启动,我失去了我目前的数据..我正在使用活动组,其中包含很多活动,当我改变方向应用程序重新从主要活动。

是否有可能避免这个应用程序重新启动方向更改?

任何人都知道,请让我知道..

Solutions Collecting From Web of "Android应用程序重新启动方向更改"

如果你的android:targetSdkVersion =“12”或更less

机器人:configChanges = “方向| keyboardHidden”>

如果你的android:targetSdkVersion =“13”或更多

机器人:configChanges = “方向| keyboardHidden |屏幕尺寸”>

Android会在方向更改时重新启动活动。

在Android销毁活动之前,您需要通过调用onSaveInstanceState()来保存数据/状态。

看看这里: 处理运行时更改

这个问题也被certificate是一个很好的理解你如何处理它。

您可以通过将android:configChanges="orientation"到AndroidManifest文件中的活动来防止此问题。

资料来源: http : //developer.android.com/guide/topics/manifest/activity-element.html#config

这是它应该如何工作。 有办法让它不这样做,但你应该跟随生命周期,并能够适当地处理活动重新启动。 这已经被问了很多次了。

您可以通过以下方式让系统忽略更改:
<activity android:name="SomeActivity" android:configChanges="keyboardHidden|orientation">

但我会build议不要这样做,因为这往往表明潜在的问题还没有出现。

我的build议是,你只需添加一个新的类,将处理所有长操作或任何活动修改的恢复。

在API文档中有一些关于为什么当前活动被破坏和重build的很好的信息。 我发现这是我最后一次有关的事情非常启发。

除非另外指定,否则configuration更改(例如屏幕方向的更改)将导致当前活动被破坏,通过onPause(),onStop()和onDestroy()的正常活动生命周期过程) 作为适当的。 如果活动在前台或用户可见,则在该实例中调用onDestroy()后, 将创build一个新的活动实例 ,其中前一个实例从onSaveInstanceState(Bundle)生成的saveInstanceState。

http://developer.android.com/reference/android/app/Activity.html#ConfigurationChanges