安卓View的绘制流程个人总结

绘制流程说明

  1. Activity启动之后,会从ViewRootImp开始进行遍历,从onmeasure,layout,draw依此进行,即测量,布局,绘制、
    1. measure:从父view中传递的MeasureSpec(计算大小的方法)大小,测量宽高
    2. layout:根据measure得到参数,确定位置,即四个点的位置
    3. draw:将View绘制上去

总结:自定义ViewGroup需要重写OnMeasure,OnLayout,Ondraw,自定义View则不需要OnLayout,原因是OnLayout是负责分发所有View的位置

 

整个应用启动到界面显示的绘制流程

  1. activity的setcontentview入手,发现是一个window调用的
  2. windown的抽象方法是在phoneWindown实现
  3. PhoneWindown中有个mDecor对象,其实是decorview窗口最顶层的视图,处理视图逻辑
  4. activityThread处理decordview的逻辑,从viewroot开始,具体有个viewrootimpl
  5. 实现就是对父view进行遍历,遍历分别有:测量,布局,绘制,分别对应view的方法是measure,layout,draw

 

关于Measure,Layout,Draw具体实现说明

  • Measure
  1.  

  • Layout
  1.  
  • Draw
  1. 绘制背景
  2. 绘制view的内容,view有子view绘制子view视图
  3. 绘制view的装饰

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值