Application.ActivityLifecycleCallbacks是否在Activity中的生命周期方法之前同步调用?

时间:2015-06-17 15:09:10

标签: android android-activity android-lifecycle

我继承了一些使用Application.ActivityLifecycleCallbacks的漂亮代码。我们正在使用onActivityResumed方法在用户的会话超时时将用户带回登录屏幕。

API文档中没有关于其工作原理的文档。我们是否可以保证何时调用这些方法(即它们是否在Activity中相应的onResume之前调用),以及它们是否与正常的生命周期方法同步?

如果我不得不猜测,我会假设这些并行发生,这意味着个别活动/片段仍然需要安全地应对被注销。

2 个答案:

答案 0 :(得分:5)

这些在主(UI)线程上调用,它们被串行调用(不是并行调用)。这些回调是在Activity课程中进行的,因此当您的活动调用super.onXXXXX()时会生成这些回调;

例如,请参阅Activity.onResume() in the Android source code中的getApplication().dispatchActivityResumed(this);

答案 1 :(得分:0)

  

当用户的会话超时时将用户带回登录屏幕的方法。

你可以坚持普通的onResume()来完成上述任务,特别提到的回调只是API14 +