2015-02-17 37 views
0

我为我的英语道歉,但用谷歌翻译。我想了解为什么Google with Android会在每次更改时重新启动活动并丢失显示的所有数据。你怎么解决这个问题?他们不能让它成为可选的这件事吗? 在我阅读的每个论坛上使用onSaveInstanceState,onRestoreInstanceState,onConfigurationChanged方法,但如何使用它们并没有很好地解释。如果我有一个复杂应用程序,与许多对象,与EditText,与标记,多边形,我被迫用临时变量手工保存所有东西?还有另一种方法更快更容易做到这一点?你有什么实际的例子来展示我吗?我希望你知道帮助我理解,谢谢大家。Android vs配置更改

回答

0

这是一个可选的东西。在您的清单中,将android:configChanges =“orientation | screenSize”添加到您的活动中,并将关闭该行为。

真的只有1个很好的情况不覆盖它 - 如果你没有AsyncTasks,没有线程,没有加载器,没有绑定的服务,你有单独的layout.xml文件的横向和肖像。这是唯一一次不会导致重新创建更多痛苦而不是节省的时间。这是谷歌在API中最大的麻烦。

+0

如果智能手机进入待机状态或用户将其锁定,即使在这种情况下,活动也会重新启动。对于我已经通过将该代码放入清单中来解决的轮换问题。 – 2015-02-18 00:04:23

+0

不,它确实没有。它进入onStop,但它不会重新启动活动。如果你看到了,其他事情正在发生。你有没有开启特殊的开发者选项“不要保持活动”? – 2015-02-18 00:05:00

+0

该选项未激活。这种情况给我带来了很多问题,因为应用程序很复杂,我无法手动记住所有的东西。 – 2015-02-18 00:18:10