Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >requestLayout() 、invalidate()、postInvalidate()原理

requestLayout() 、invalidate()、postInvalidate()原理

作者头像
用户9854323
发布于 2022-06-25 02:57:23
发布于 2022-06-25 02:57:23
3730
举报
文章被收录于专栏:小陈飞砖小陈飞砖

参考: https://www.cnblogs.com/tiger-wang-ms/p/6592189.html

https://blog.csdn.net/a553181867/article/details/51583060

结论: view调用invalidate将导致当前view的重绘(draw调用),view的父类将不会执行draw方法;viewGroup调用invalidate会使viewGroup的子view调用draw,也就是viewGroup内部的子view进行重绘;

而requestLayout方法只会导致当前view的measure和layout。

invalidate:

requestLayout:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-12-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Android View 深度分析requestLayout、invalidate与postInvalidate「建议收藏」
#前言 前几篇文章中,笔者对View的三大工作流程进行了详细分析,而这篇文章则详细讲述与三大工作流程密切相关的两个方法,分别是requestLayout和invalidate,如果对Viwe的三个工作流程不熟悉的读者,可以先看看前几篇文章,以便能更容易理解这篇文章的内容。
全栈程序员站长
2022/09/05
2.3K0
Android View 深度分析requestLayout、invalidate与postInvalidate「建议收藏」
笔记——自定义View(三)
1、在自定义View中,drawArc()是绘制弧形或者扇形的,drawArc(float left, float top, float right, float bottom, float startAngle, float sweepAngle, boolean useCenter, Paint paint) ,绘制角度以X轴正方向即正右方为0度位置,顺时针为绘制正角度,逆时针为负;useCenter是否连接圆心,连接为绘画扇形,不连接则绘制弧形。
木溪bo
2018/12/27
4920
Android高频面试专题 - 提升篇(二)View绘制流程
在提升篇(一)中提过,当建立好了decorView与ViewRoot的关联后,ViewRoot类的requestLayout()方法会被调用,以完成应用程序用户界面的初次布局。实际被调用的是ViewRootImpl类的requestLayout()方法,这个方法的主要源码如下:
Android扫地僧
2020/03/19
9.7K0
Android高频面试专题 - 提升篇(二)View绘制流程
Android面试刨根问底之常用源码篇(二):OkHttp, Retrofit,自定义View源码分析总结
由于篇幅原因拆分成两个部分分享,上一篇讲解了前面三个方面,今天讲剩下的三个部分,之后的还会持续更新。
Android技术干货分享
2021/01/14
1.3K0
Android面试刨根问底之常用源码篇(二):OkHttp, Retrofit,自定义View源码分析总结
这可能是2020大小厂问的最经典的Android面试题了——事件分发机制、View渲染过程
Activity和View只有两个方法控制事件传递:dispatchTouchEvent(),onTouchEvent ();
Android技术干货分享
2021/01/07
1.1K0
这可能是2020大小厂问的最经典的Android面试题了——事件分发机制、View渲染过程
Android组件View绘制流程原理分析
如上图,Activity的window组成,Activity内部有个Window成员,它的实例为PhoneWindow,PhoneWindow有个内部类是DecorView,这个DecorView就是存放布局文件的,里面有TitleActionBar和我们setContentView传入进去的layout布局文件
Anymarvel
2018/10/22
1.2K0
Android组件View绘制流程原理分析
IOS开发系列——UIView专题之三:自定义绘制篇【整理,部分原创】
iOS的绘图操作是在UIView类的drawRect方法中完成的,所以如果我们要想在一个UIView中绘图,需要写一个扩展UIView的类,并重写drawRect方法,在这里进行绘图操作,程序会自动调用此方法进行绘图。
江中散人_Jun
2022/03/08
1.2K0
自定义View必备知识-View绘制流程
View的绘制是从上往下一层层迭代下来的。DecorView-->ViewGroup(--->ViewGroup)-->View ,按照这个流程从上往下,依次measure(测量),layout(布局),draw(绘制)。
Android技术干货分享
2019/05/29
1.7K0
自定义View必备知识-View绘制流程
View的工作原理
在 WindowManagerGlobal 的 addView(View view, ViewGroup.LayoutParams params, Display display, Window parentWindow) 方法中,创建了 ViewRootImpl 对象,将 ViewRootImpl 和 DecorView 相关联:
俞其荣
2022/07/28
1.2K0
View的工作原理
粗谈绘制任务和绘制流程
今天是2028年4月26日,天气晴,我请了一天假在家陪女儿。 正在陪女儿画画的我,被女儿问到: ?:“爸爸,妈妈说你的工作是可以把我们想到的东西变到手机上,是这样吗?” ?:“对呀,厉害吧~” ?:“
码上积木
2021/04/30
7470
View绘制流程
1. View 树的绘图流程 当 Activity 接收到焦点的时候,它会被请求绘制布局,该请求由 Android framework 处理.绘制是从根节点开始,对布局树进行 measure 和 dr
xiangzhihong
2018/02/05
8420
View绘制流程
自定义View三问—字节真题
星期一的早上,还没从假期缓过来的你,遇到产品给的新需求,要做一个你没看过的View,是不是有点崩溃。哎,抹干眼泪,拿起自定义View开始埋头苦干吧~
码上积木
2020/10/29
5250
自定义View三问—字节真题
Android 开发艺术探索笔记一
ViewRoot对应于ViewRootImpl类,它是连接windowmanager和DecorView的纽带,View的三大流程均是通过ViewRoot来完成的,在ActivityThread中,当activity创建完毕后,会将DecorView添加到window中,同时创建viewrootImpl对象,并将viewrootImpl与DecorView关联。View的绘制流程从viewRoot的performTraversals方法开始,经过三个过程将view绘制出来
Yif
2019/12/26
9450
View的绘制流程源码分析
概述 View的绘制流程主要是指测量、布局以及绘制显示,在View中,measure是测量View的宽高,layout是控制View四个顶点的位置,而draw就是将布局直接绘制出来。 Measure流程 measure的流程氛围View的measure流程以及ViewGroup的measure的流程。之所以把View和ViewGroup分开就是因为ViewGroup不仅仅要测量自身的宽高,而且还需要通过递归将子view的宽高测量出来。 View的measure过程 View的measure说简单也简单,说复
我就是马云飞
2018/02/05
6290
035android初级篇之[转]android的ViewGroup与View
Android中的View包含了用户交互和显示,类似于Windows操作系统中的window。
上善若水.夏
2018/09/28
5570
035android初级篇之[转]android的ViewGroup与View
android之View绘制
Android系统的视图结构的设计也采用了组合模式,即View作为所有图形的基类,Viewgroup对View继承扩展为视图容器类,由此就得到了视图部分的基本结构--树形结构 View定义了绘图的基本
xiangzhihong
2018/01/30
7210
android之View绘制
附详尽答案,新版精选Android中高级面试题--二
链接:https://juejin.im/post/5c8211fee51d453a136e36b0
陈宇明
2020/12/16
1.1K0
附详尽答案,新版精选Android中高级面试题--二
Android高级进阶之路【一】Android中View绘制流程浅析
一个View,从无到有会走三个流程,也就是老生常谈的measure,layout,draw三流程;
做个快乐的码农
2021/11/17
1.2K0
Android高级进阶之路【一】Android中View绘制流程浅析
码妞独家报道:好久没发的Android面试题
今天先要发布一个新专栏 ——《码妞看世界》!会分享一些码妞拍的花花草草、大自然,以及日常拍的好看的照片~希望你们会喜欢,除了代码之外,还有广阔的世界,应该多看一看。
陈宇明
2020/12/16
4950
View相关问题再探
昨天发了关于线程更新UI的一些内容,其中关于View的一些问题还是比较重要的。我们再来回顾下,并提出一些问题。
码上积木
2020/11/24
3970
推荐阅读
相关推荐
Android View 深度分析requestLayout、invalidate与postInvalidate「建议收藏」
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文