复杂页面架构
架构 页面 复杂
2023-09-14 09:04:14 时间
复杂页面架构总结(以微博正文页为例)
- 微博正文的整体架构是借鉴了MVVM的框架思想,但是和标准的MVVM框架又有一些区别
- 微博正文页的反向更新机制,模拟了系统UIView的反向更新机制。UIView的绘制原理流程,我们在调用UIView,setneeddisplay,只是给对应视图打了一个桩标记,它真正发生实际的绘制是在当前runloop将要结束的时候。
- AsyncDisplay预排版:是性能优化方案的一种
MVVM
- 虚线:可以是block, RAC, 代理,通知
RN数据流思想
- 一个父视图有几个子视图,每个子视图又有自己的子视图
- 对某一个UIView进行数据更新,导致UI变化的时候。我们需要通过多叉树反向回到根节点,然后由根节点自顶向下的遍历,来判定那个节点需要更新。某个节点在反向更新的时候打上了桩标记,在自顶向下寻找的时候,如果发现某个节点(视图)被打上了章标记,那它实际上就是最终需要更新的结点,然后去更新对应的UI视图
- 任何一个子孙结点是没有权利做自己的变化更新的,他必须要把自己变化更新的消息传递给根结点,然后由根结点自顶向下遍历询问更新
- 微博正文的反向更新用到了RN的数据流思想
相关文章
- 惊爆GitHub!腾讯T14级SQL首席专家开源分布式数据库架构实践手册
- react源码解析7.Fiber架构_2023-02-07
- RISC-V 学习笔记:由来、基础整数指令集、汇编语言、特权架构
- 揭秘短视频推荐系统的技术架构及四大模块
- Flink1.13架构全集| 一文带你由浅入深精通Flink方方面面(四)CEP篇
- Kafka各组件架构简介
- 软件架构编年史:架构风格 vs. 架构模式 vs. 设计模式
- 阿里巴巴新产“Java架构核心宝典”,全是流行技术,限时开放
- 联发科天玑2000年底发布:台积电4nm、A79架构
- 给学习 OpenStack 架构的新手入门指南
- 深入理解Linux VGS体系架构(linuxvgs)
- 架构从Linux进入城市架构世界(linux进城)
- Linux路由分析:通往架构优化之路.(linux 路由分析)
- Oracle升级到1114带来全新系统架构(01114oracle)