onCreate和onStart for Android之间有什么区别?
问题描述:
我从Android Developers(http://developer.android.com/reference/android/app/Activity.html)看到,有一个很好的流程图,显示onCreate
导致onStart
,然后onResume
,等等。我的问题是:onCreate
和onStart
之间出现什么其他on****()
方法?onCreate和onStart for Android之间有什么区别?
例如,我一直在研究这个主题,并且我知道其他方法,例如onMeasure
和onSizeChanged
,onDraw
,还有其他的方法存在。他们在哪里适合该流程图?
谢谢。
答
存在其他方法,但它们并不真正适合该流程图中的任何一个地方,也不是活动生命周期的一部分。事实上,这就是为什么他们不在图表上。您提到的那些实际上更多的是与活动生命周期分开的视图生命周期(尽管公认与其相关)。
答
您提到的方法与Activity
生命周期无关。
例如,在Activity
生命周期流程图中包含对onMeasure
的调用是不正确的。每当布局更改时(即调用requestLayout
时)或第一次布置窗口时,都调用onMeasure
。与onMeasure
的呼叫不是直接与系统呼叫onCreate
和onStart
有关。
制作一个覆盖onX()中的每一个的活动并向每个添加一条日志语句。然后运行该活动并检查您的日志。会告诉你每件事发生的顺序。 – FoamyGuy 2012-03-13 01:02:58