onCreate和onStart for Android之间有什么区别?

问题描述:

我从Android Developers(http://developer.android.com/reference/android/app/Activity.html)看到,有一个很好的流程图,显示onCreate导致onStart,然后onResume,等等。我的问题是:onCreateonStart之间出现什么其他on****()方法?onCreate和onStart for Android之间有什么区别?

例如,我一直在研究这个主题,并且我知道其他方法,例如onMeasureonSizeChangedonDraw,还有其他的方法存在。他们在哪里适合该流程图?

谢谢。

+3

制作一个覆盖onX()中的每一个的活动并向每个添加一条日志语句。然后运行该活动并检查您的日志。会告诉你每件事发生的顺序。 – FoamyGuy 2012-03-13 01:02:58

存在其他方法,但它们并不真正适合该流程图中的任何一个地方,也不是活动生命周期的一部分。事实上,这就是为什么他们不在图表上。您提到的那些实际上更多的是与活动生命周期分开的视图生命周期(尽管公认与其相关)。

您提到的方法与Activity生命周期无关。

例如,在Activity生命周期流程图中包含对onMeasure的调用是不正确的。每当布局更改时(即调用requestLayout时)或第一次布置窗口时,都调用onMeasure。与onMeasure的呼叫不是直接与系统呼叫onCreateonStart有关。

Image

此图像可以清晰地描绘出你想要的东西。