4

我对 Android 比较陌生,但在过去一年中制作了很多应用程序,所以请原谅我。

我知道,当您在设备上运行应用程序并通过转动设备来更改屏幕方向时,显示的活动将完全重新创建。我去 youtube 应用程序(我使用的是带有 Android 4.2.2 的 Nexus 7)并播放一些视频,然后翻转屏幕以改变方向。视频继续播放,所有内容都相应地重新调整大小......如果完全重新创建活动,这怎么可能?

谢谢你。

4

2 回答 2

4

在您的 AndroidManifest.xml 添加 android:configChanges ,这将避免在方向更改时重新创建活动。我希望您的横向和纵向模式具有相同的布局。

    <activity android:label="Your Activity Name" 
    android:configChanges="keyboardHidden|orientation|screenSize"
      android:name="com.yourpackage">

要对此添加更多内容,我建议您查看onPause()onResume()方法,如果您正在使用 Fragments,请注意onSaveInstanceStateonRetainInstanceState而不是应用 xml 更改,因为“活动被设计破坏了。

http://developer.android.com/training/basics/activity-lifecycle/index.html

于 2013-04-07T01:55:35.547 回答
-1

如果您担心在活动中丢失局部变量的值......您可以对其中一些变量使用单例模式。这不是一个漂亮的解决方案,但可以工作。

于 2014-11-16T03:05:15.987 回答