当我旋转模拟器时,如何阻止我的活动被销毁?

Leb*_*ald 0 java android android-activity

我目前有两个活动:MainActivity和DisplayActivity.当我运行我的应用程序并旋转模拟器时,活动被销毁.当我旋转模拟器时,如何确保我的活动不会被破坏?

Cod*_*ice 7

你可以这样做android:configChanges="orientation|screenSize".

但是,我强烈反对这一点,除非你知道你在做什么.请记住,Android允许您为纵向和横向方向指定不同的布局.Android决定在首次创建活动时使用哪种布局(或者更准确地说,当您调用时setContentView(),通常在活动中执行此操作onCreate().)如果您覆盖方向更改的默认行为,则Android系统将无法加载正确的布局适合你; 你必须自己实现这一点.可能还有其他一些我不知道的事情,如果你不自己处理它们会导致问题.

这意味着处理方向更改的首选方法是实现onSaveInstanceState()在销毁活动时存储任何状态,并在onCreate()重新启动活动时恢复状态.有关更多详细信息,请参阅管理活动生命周期