交互协调:onStop和onResume

Sap*_*Sun 3 lifecycle android android-activity

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

mme*_*yer 5

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

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

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

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

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