意图启动活动后调用哪种方法?

时间:2017-01-07 14:25:35

标签: android android-intent oncreate

我知道当一个活动首次创建时,它的onCreate()方法就会起作用。

假设有一个主要活动通过意图启动另一个活动(secondActivity.java),然后第二个活动通过意图再次启动主要活动。我的问题是,在接收到intent之后是否调用了onRestart()方法的主要活动,还是调用了onCreate()方法?

提前致谢!

3 个答案:

答案 0 :(得分:4)

  

我的问题是,在接收到intent之后是否调用了onRestart()方法,还是调用了onCreate()方法?

这取决于是否会创建主要活动的新实例。

默认情况下,会有人。在这种情况下,将使用onCreate()调用主活动的新实例。主要活动的原始实例不受影响。

但是,通过Intent标记(例如FLAG_ACTIVITY_REORDER_TO_FRONT)或清单设置,您可以安排将主要活动的原始实例带回前台。在这种情况下,将使用onNewIntent()调用原始实例(为您提供与Intent一起使用的startActivity(),将活动带回前台)。还应该使用onRestart()onStart()onResume()作为回到前台的一部分进行调用。

答案 1 :(得分:1)

以下是来自文档的Android生命周期的图片:

Android life cycle

当您启动第二个活动onPause()时,将在第一个活动上调用等,然后在onCreate()上调用,依此类推第二个活动。如上图所示,当您按下onRestart()时,应在第一个活动上调用。

答案 2 :(得分:0)

如果您开始新意图,则会调用onCreate()方法。

相关问题