2011-10-11 146 views
0

我正在尝试在onPause()事件期间将密钥保存到SharedPreferences,但是当我离开活动并返回到活动时,这被称为BOTH。Android生命周期发生故障

因此,当我返回活动时,我的值会被零和默认值覆盖,并且oncreate方法中的方法不会像我期望的那样响应,因此。

也许我误解了Android的生命周期,但我已经看到了生命周期图十几次,我的程序没有像我期望的那样行事。

Insight深表赞赏。

+0

让我们来看看你的代码。 – brianestey

+0

r使用任何lanuch模式进行活动显示您正在使用的代码 –

回答

1

根据我的经验,一些设备完全是活动的事件生命周期的核心。

我发现的唯一解决方案是使活动尽可能独立于生命周期。我见过设备,当它们从onPause返回时,只会创建一个新的活动。你应该检查一下,如果这不是你的情况。

Android设备的测试似乎在这方面缺乏很多。

+0

感谢您的建议,它使我走上了正确的道路。我使用sharedpreferences,如果onCreate()现在基于我存储的值的条件 – CQM

0

根据活动生命周期,onPause()将在onResume()之后和onStop()之前被调用。所以你在onPause()中做的任何事情都会执行两次。但在我的实验中,有些设备在onStop()之前有时会跳过onPause()。所以你不要单独依靠Pause()。最好用适当的条件在onCreate()或onResume()上编写代码。

请把你的代码放在这里以获得更多的解释。