View和Activity的生命周期
- 如果根布局为RelativeLayout,那么
onMeasume()
共会执行4次 - 如果根布局为LinearLayout
- 如果控件有weight 属性,那么
onMeasume()
共会执行4次 - 如果控件有weight属性,但是根布局中只有唯一一个子控件,那么
onMeasume()
共会执行2次
- 如果控件有weight 属性,那么
根局部为RelativeLayout
- 开启Activity
E/log: Activity生命周期:onCreateE/view的生命周期: onCreateE/view的生命周期: onFinishInflateE/log: Activity生命周期:onStartE/log: Activity生命周期:onResumeE/view的生命周期: onAttachedToWindowE/view的生命周期: onMeasureE/view的生命周期: onMeasureE/view的生命周期: onSizeChangedE/view的生命周期: onLayoutE/view的生命周期: onWindowFocusChanged trueE/view的生命周期: onMeasureE/view的生命周期: onMeasureE/view的生命周期: onLayoutE/view的生命周期: onDraw复制代码
- 关闭Activity
E/view的生命周期: onWindowFocusChanged falseE/log: Activity生命周期:onPauseE/log: Activity生命周期:onStopE/log: Activity生命周期:onDestroy复制代码
-
开启另外的Activity
- 开启一个的Activity,使原本的Activity进入onStop
E/log: Activity生命周期:onPauseE/view的生命周期: onWindowFocusChanged falseE/log: Activity生命周期:onStop复制代码
- 退出这个Activity,使原本的Activity重新进入到前台
E/log: Activity生命周期:onRestartE/log: Activity生命周期:onStartE/log: Activity生命周期:onResumeE/view的生命周期: onWindowFocusChanged trueE/view的生命周期: onDraw复制代码
-
开启一个透明的Activity
-
开启一个透明的Activity,使原本的Activity进入onPause
E/log: Activity生命周期:onPauseE/view的生命周期: onWindowFocusChanged false复制代码
-
关闭透明的Activity,使原本的Activity,进入onResume
E/log: Activity生命周期:onResumeE/view的生命周期: onWindowFocusChanged true复制代码
-
根局部为LinearLayout
-
子控件不含有weight属性
-
这个控件含有weight属性但是它是根布局的唯一子控件
E/log: Activity生命周期:onCreateE/view的生命周期: onCreateE/view的生命周期: onFinishInflateE/log: Activity生命周期:onStartE/log: Activity生命周期:onResumeE/view的生命周期: onAttachedToWindowE/view的生命周期: onMeasureE/view的生命周期: onSizeChangedE/view的生命周期: onLayoutE/view的生命周期: onMeasureE/view的生命周期: onLayoutE/view的生命周期: onDrawE/view的生命周期: onWindowFocusChanged true复制代码
-
控件含有weight属性,并且它不是其根局部中的唯一子控件
E/log: Activity生命周期:onCreateE/view的生命周期: onCreateE/view的生命周期: onFinishInflateE/log: Activity生命周期:onStartE/log: Activity生命周期:onResumeE/view的生命周期: onAttachedToWindowE/view的生命周期: onMeasureE/view的生命周期: onSizeChangedE/view的生命周期: onLayoutE/view的生命周期: onMeasureE/view的生命周期: onLayoutE/view的生命周期: onDrawE/view的生命周期: onWindowFocusChanged true复制代码
如果view没有任何没有内容,并且根布局内有其他内容,则最后的onDraw不会执行
E/log: Activity生命周期:onCreateE/view的生命周期: onCreateE/view的生命周期: onFinishInflateE/log: Activity生命周期:onStartE/log: Activity生命周期:onResumeE/view的生命周期: onAttachedToWindowE/view的生命周期: onMeasureE/view的生命周期: onMeasureE/view的生命周期: onSizeChangedE/view的生命周期: onLayoutE/view的生命周期: onWindowFocusChanged trueE/view的生命周期: onMeasureE/view的生命周期: onMeasureE/view的生命周期: onLayout复制代码
E/log: Activity生命周期:onCreateE/view的生命周期: onCreateE/view的生命周期: onFinishInflateE/log: Activity生命周期:onStartE/log: Activity生命周期:onResumeE/view的生命周期: onAttachedToWindowE/view的生命周期: onMeasureE/view的生命周期: onSizeChangedE/view的生命周期: onLayoutE/view的生命周期: onWindowFocusChanged trueE/view的生命周期: onMeasureE/view的生命周期: onLayoutE/view的生命周期: onDraw复制代码