交互协调:onStop和onResume

时间:2010-10-16 18:11:09

标签: android android-activity lifecycle

我有两项活动。一个从数据库加载所有行,另一个保存到数据库。当我在onStop中进行第二次保存并且第一次重新计算onResume中的数据时,它们会不按顺序执行(第一次恢复然后第二次保存)。我设法通过将保存数据放入onPause来解决这个问题,但为什么会发生这种情况呢?这是最干净的方法吗?

2 个答案:

答案 0 :(得分:5)

在第一次动作中执行保存onPause应该没问题。

您已经发现活动的前景生命周期发生在对onResume()的调用之间,直到对onPause()的相应调用。在此期间,活动位于屏幕上的所有其他活动之前,并与用户进行交互。

当你开始第二个活动时,onPause在第一个活动上被调用,然后交互式控制切换到第二个活动,第一个活动上的onStop会在后面稍微调用。

这可以提高响应速度并尽快在用户面前获取新活动。因此,您应该尽可能快速有效地保持onPause实现。

有关生命周期http://developer.android.com/guide/topics/fundamentals.html的详细信息,请参阅以下Android文档,但您找到的内容应该可以正常使用。

答案 1 :(得分:0)

一些官方报价作为附件:

Activity文档指出

  

onPause() 是您处理离开活动的用户的地方。   最重要的是,此时用户所做的任何更改都应该是   致力于