面试 -- requestLayout、invalidate与postInvalidate区别
面试 -- 区别 invalidate
2023-09-14 09:00:30 时间
requestLayout:
从方法名字可以知道,“请求布局”,那就是说,如果调用了这个方法,那么对于一个子View来说,应该会重新进行布局流程。但是,真实情况略有不同,如果子View调用了这个方法,其实会从View树重新进行一次测量、布局、绘制这三个流程,最终就会显示子View的最终情况。
invalidate:
当子View调用了invalidate方法后,会为该View添加一个标记位,同时不断向父容器请求刷新,父容器通过计算得出自身需要重绘的区域,直到传递到ViewRootImpl中,最终触发performTraversals方法,进行开始View树重绘流程(只绘制需要重绘的视图)。
postInvalidate:
postInvalidate是在非UI线程中调用,invalidate则是在UI线程中调用。
详细讲解见:http://blog.csdn.net/a553181867/article/details/51583060
相关文章
- 面试准备--提纲
- python后端面试第五部分:Linux操作系统--长期维护
- python后端面试第四部分:django框架--长期维护
- python开发-面试刷题
- AI面试刷题版
- Android -- 面试 -- 数据库升级策略
- 面试数十家Linux运维工程师,总结了这些面试题(含答案)转
- 了解面向对象的特性,了解重载、重写等机制-美团面试基本题
- 企业面试真题--009
- 企业面试真题--006
- Atitit 面试分析--面试次数 复试次数 期望薪资分析法 目录 1. 汇总分析 面试次数 复试次数 期望薪资1 2. 一些理论1 2.1. 差额选举是指候选人数多于应选人数的选举。1
- Atitit 面试问题总结
- JavaScript面试系列:JavaScript设计模式之桥接模式和懒加载
- 【面试】sql语句单独跑很快但并发的时候很慢
- Python 10k+ 面试试题,看看你是否掌握
- C++每日面试之引用
- C面试24. (指针)定义一个含有20个元素的double型数组a
- 针对博文“面试奇葩——交换两变量值的一些邪门歪道 ”的一些编程深思--希望大牛多多光临、指导
- Redis的那些最常见面试问题
- 面试常见问题
- 面试高薪必备MyBatis执行流程
- 想放弃测试开发了,4年经验去面试10分钟结束,测开这么难了?