Android View生命周期

View的关键生命周期为:
> 构造 View() --> onFinishInflate() --> onAttachedToWindow() --> onMeasure() --> onSizeChanged() --> onLayout() --> onDraw() --> onDetackedFromWindow()


  1. Creation(创建)
  • Constructors(构造函数):有一种形式的构造函数会在View在代码中被创建时调用,另一种形式的构造函数会在View从layout加载出来时被调用。
    第二种形式的构造函数会解析和应用layout文件中定义的任何属性。
  • onFinishInflate():该方法当View及其子View从XML文件中加载完成后会被调用。
  1. Layout(布局)
  • onMeasure(int, int):该方法在计算当前View及其所有子View尺寸大小需求时会被调用。
  • onLayout(boolean, int, int, int, int):该方法在当前View需要为其子View分配尺寸和位置时会被调用。
  • onSizeChanged(int, int, int, int):该方法在当前View尺寸变化时被调用。
  1. Drawing(绘制)
  • onDraw(android.graphics.Canvas):该方法在当前View需要呈现其内容时被调用。
  1. Event processing(事件处理)
  • onKeyDown(int, KeyEvent):该方法在一个物理按键事件发生时被调用。
  • onKeyUp(int, KeyEvent):该方法在一个物理按键弹起事件发生时被调用。
  • onTrackballEvent(MotionEvent):该方法在一个轨迹球运动事件发生时被调用。
  • onTouchEvent(MotionEvent):该方法在一个触摸屏幕运动事件发生时被调用。
  1. Focus(聚焦)
  • onFocusChanged(boolean, int, android.graphics.Rect):该方法在当前View获得或失去焦点时被调用。
  • onWindowFocusChanged(boolean):该方法在包含当前View的window获得或失去焦点时被调用。
  1. Attaching(附上)
  • onAttachedToWindow():该方法在当前View被附到一个window上时被调用。
  • onDetachedFromWindow():该方法在当前View从一个window上分离时被调用。
  • onVisibilityChanged(View, int):该方法在当前View或其祖先的可见性改变时被调用。
  • onWindowVisibilityChanged(int):该方法在包含当前View的window可见性改变时被调用。


作者:周君宜
链接:https://www.jianshu.com/p/08e6dab7886e
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值