我有两项活动。一个从数据库加载所有行,另一个保存到数据库。当我在onStop中进行第二次保存并且第一次重新计算onResume中的数据时,它们会不按顺序执行(第一次恢复然后第二次保存)。我设法通过将保存数据放入onPause来解决这个问题,但为什么会发生这种情况呢?这是最干净的方法吗?
答案 0 :(得分:5)
在第一次动作中执行保存onPause应该没问题。
您已经发现活动的前景生命周期发生在对onResume()的调用之间,直到对onPause()的相应调用。在此期间,活动位于屏幕上的所有其他活动之前,并与用户进行交互。
当你开始第二个活动时,onPause在第一个活动上被调用,然后交互式控制切换到第二个活动,第一个活动上的onStop会在后面稍微调用。
这可以提高响应速度并尽快在用户面前获取新活动。因此,您应该尽可能快速有效地保持onPause实现。
有关生命周期http://developer.android.com/guide/topics/fundamentals.html的详细信息,请参阅以下Android文档,但您找到的内容应该可以正常使用。
答案 1 :(得分:0)