【发布时间】:2010-10-16 18:11:08
【问题描述】:
我有两个活动。一个从数据库加载所有行,另一个保存到数据库。当我在 onStop 中进行第二次保存并且第一次在 onResume 中提取数据时,它们会乱序执行(第一次恢复,然后第二次保存)。我设法通过将保存数据放入 onPause 来解决此问题,但为什么会发生这种情况?这是最干净的方法吗?
【问题讨论】:
标签: android android-activity lifecycle
我有两个活动。一个从数据库加载所有行,另一个保存到数据库。当我在 onStop 中进行第二次保存并且第一次在 onResume 中提取数据时,它们会乱序执行(第一次恢复,然后第二次保存)。我设法通过将保存数据放入 onPause 来解决此问题,但为什么会发生这种情况?这是最干净的方法吗?
【问题讨论】:
标签: android android-activity lifecycle
在第一个活动的 onPause 中进行保存应该没问题。
您发现活动的前台生命周期发生在调用 onResume() 到相应调用 onPause() 之间。在此期间,Activity 位于屏幕上所有其他 Activity 的前面并与用户交互。
当您启动第二个活动时,第一个活动会调用 onPause,然后交互控制切换到第二个活动,第一个活动会在后台调用 onStop。
这提高了响应能力并尽快将新活动呈现在用户面前。因此,您应该尽量让您的 onPause 实现尽可能快速和高效。
有关生命周期http://developer.android.com/guide/topics/fundamentals.html 的更多详细信息,请参阅以下 Android 文档,但您发现的内容应该适合您。
【讨论】:
【讨论】: