📄️ 了解 Compose 的重组作用域
不少初学 Compose 的同学都会对 Composable 的 Recomposition(官方文档译为"重组")心生顾虑,担心大范围的重组是否会影响性能。
📄️ 透过 Snapshot 看重组
Jetpack Compose 引入了一种处理可观察状态的新方法 —— Snapshot(快照)。在 Compose 中我们通过 state 的变化来触发重组,那么请思考以下几个问题:
📄️ 重组的工作流程
我们都知道 Jetpack Compose 是一套声明式 UI 系统,当 UI 组件所依赖的状态发生改变时会自动发生重绘刷新,这个过程被官方称作重组,前面已经总结过 Compose 的重组范围,以及 重组过程使用的Snapshot。本文将带领大家来看看 Compose 源码中从状态更新到 recompose 过程在源码中是如何进行的,并且讲解快照系统在 recompose 过程中如何被使用到的。
📄️ Compose 运行原理与 GapBuffer
揭秘 @Composable
📄️ 探索 SlotTable 系统及原理
Compose 的绘制有三个阶段,组合 > 布局 > 绘制。后两个过程与传统视图的渲染过程相近,唯独组合是 Compose 所特有的。Compose 通过组合生成渲染树,这是 Compose 框架的核心能力,而这个过程主要是依赖 SlotTable 实现的,本文就来介绍一下 SlotTable 系统。
📄️ 图解 Modifier
想必许多小伙伴在使用 Jetpack Compose 开发时都使用过 Modifier 来修饰 UI 组件,做过一段时间 Compose 开发的小伙伴都会发现 UI 组件最终所呈现效果与 Modifier 调用顺序是息息相关的。这是因为 Modifier 会由于调用顺序的不同而产生不同的 Modifier 链,Jetpack Compose 会按照 Modifier 链上的顺序进行执行,从而导致 Modifier 调用顺序不同时,UI 组件最终呈现的效果也会不同。那么 Modifier 链在底层如何存储的呢?本文将带着大家来一起扒一扒 Modifier 实现原理,结合图片来解释 Modifier 链的底层数据结构。
📄️ Composeble 注解到底做了什么?
前言
📄️ 如何为Compose Image提供网络图片加载支持
前言