View的生命周期及实践

2017-11-03  本文已影响27人  AndroidTony

1 view的生命周期回调流程(按照调用顺序)

  1. 构造函数
  1. onVisibilityChanged()
    可见性不是默认值(即可见)时调用。
  2. onFinishInflate()
    该方法当View及其子View从XML文件中加载完成后会被调用。
  3. onAttachedToWindow()
  1. onMeasure()
    计算当前View及其所有子View尺寸大小。
  2. onSizeChanged()
    当前View尺寸变化时被调用。
  3. onLayout()
  1. onWindowFocusChanged
    当前View的window获得或失去焦点时被调用。

  2. onDraw()
    只有可见的view才会在window中绘制。

10.onDetachedFromWindow()

注意:
5、7、9可能会被多次调用;

2 调用顺序图

View生命周期图.png

3 实例

activity与view的生命周期图.png

4 实践

3.1 执行动画的时机

如果view中需要注册监听,开始执行某动画效果,可以在onAttachedToWindow中开始执行动画。

3.2 view.post(runnable)

ViewRootImpl.getRunQueue.png
上一篇 下一篇

猜你喜欢

热点阅读