术语表(全书常驻)

白话扫一眼 Compose 常见词。可筛选、可点分类;正文里的术语也会链回这里。

📌 侧栏「常驻」始终可进本页。释义保持短句;细节点「见正文」下钻。

0

没有匹配的术语,试试别的关键词。

界面与写法

声明式 UI

描述「界面应该是什么样」,而不是一步步改控件。状态变了,由框架把界面对齐到新描述。

XML 对照:布局 XML + 代码里手动 setXxx

见正文:心智 · 命令式 vs 声明式

命令式 UI

找到控件,再 setXxx 去改它。数据和 View 是两张皮,忘了刷新就会错位。

XML 对照:findViewById / Binding + 监听器刷新

见正文:心智 · 命令式 vs 声明式

@Composable

用来描述 UI 的 Kotlin 函数。嵌套调用即界面结构,属性用具名参数传入。

XML 对照:布局里的控件标签

见正文:心智 · 组合优于继承

组合(Composition)

框架根据 Composable 调用树,搭出当前这一帧的界面描述。

XML 对照:inflate 出 View 树

见正文:心智 · 组合优于继承

重组(Recomposition)

状态变了,只重跑依赖该状态的 Composable,不是整页死刷。

XML 对照:invalidate / Adapter notify(由你决定刷谁)

见正文:心智 · 重组的直觉

Modifier

给组件挂尺寸、边距、背景、点击等的统一入口;链式调用,顺序有意义。

XML 对照:layout_* / padding / background / clickable 等属性

见正文:Modifier

插槽 / 作用域

只在特定容器里才有的 API,如 Scaffold 的 topBar、Lazy 的 item、Row 里的 weight。

XML 对照:无单一对应;近似「只能写在某父布局下的属性」

见正文:布局 · Row / weight · 结构与容器

@Preview

不装包,在 IDE 里直接预览 Composable,可配多尺寸、深浅色。

XML 对照:布局编辑器预览

见正文:结构与容器 · Preview

状态与数据

状态(State)

会随时间变、且变化应反映到界面上的数据。是 UI = f(state) 的输入。

XML 对照:散落在字段 + 手动同步到 View 的数据

见正文:心智 · UI = f(state) · 状态与数据流

remember

重组时尽量保住同一个对象/值,避免每次重跑都重新初始化。

XML 对照:Compose 特有(View 实例本身跨「刷新」存活)

见正文:状态与数据流

rememberSaveable

在 remember 基础上还能扛住旋转等配置变化(类似存进 Bundle)。

XML 对照:onSaveInstanceState

见正文:状态与数据流

状态提升

状态放到能共享的父级;子组件只读数据,用回调上报事件。

XML 对照:父 Fragment/Activity 持有数据,子 View 只展示

见正文:状态与数据流

单向数据流

State 向下传,事件向上传。界面不直接改「别人的」真相源。

XML 对照:常见 MVVM / 观察者模式的数据流纪律

见正文:状态与数据流

ViewModel / UiState

业务状态容器;界面通常只渲染一份不可变 UiState 快照。

XML 对照:AAC ViewModel + LiveData/Flow(写法不同,角色相近)

见正文:状态与数据流

collectAsStateWithLifecycle

按生命周期安全地把 Flow / StateFlow 收成 Compose State,避免后台白收。

XML 对照:observe LiveData / 生命周期感知收集

见正文:状态 · collect

mutableStateListOf / Map

可观察的 List / Map;增删改会触发读过它的界面重组。普通 List 原地改无效。

XML 对照:改 Adapter 数据后 notify

见正文:状态 · 集合

derivedStateOf

由其他 State 计算得出的派生状态;依赖结果不变时可减少无用下游重组。

XML 对照:数据变了手动重算 / 过滤

见正文:状态 · 派生

remember(keys) / key

身份(如 userId)变化时丢掉旧 remember 状态,避免串数据。

XML 对照:换业务 id 时清字段

见正文:状态 · key

snapshotFlow

把对 Compose State 的读取变成 Flow,便于防抖、落盘或桥接仓库。

XML 对照:OnScrollListener 记位置一类

见正文:状态 · snapshotFlow

produceState

在组合内把异步结果收成 State;轻量岛可用,正式业务优先 ViewModel。

XML 对照:回调里改 UI

见正文:状态 · produceState

rememberUpdatedState

在长生命周期 Effect 里始终读到最新回调 / 参数,又不必重启 Effect。

XML 对照:Compose 特有

见正文:状态 · Updated

CompositionLocal

隐式向子树传递依赖(如主题);能参数传递时优先显式传参。

XML 对照:Context / 主题资源隐式获取

见正文:状态 · Local

StateFlow / SharedFlow

StateFlow 表示当前快照;SharedFlow 常用于一次性 UI 事件(导航、Snackbar)。

XML 对照:LiveData 快照 vs 单次事件通道

见正文:状态 · ViewModel

运行与边界

副作用(Side Effect)

除了返回 UI 之外对外界的影响:监听、导航、Snackbar、写非 Compose 对象。Composable 会重跑,不能写在函数体里。

XML 对照:生命周期回调 / 点击里做事

见正文:副作用边界

副作用边界

线内:Composable 只描述 UI = f(state)。线外:Effect / 回调 / ViewModel 才「做事」。选错边比记错 API 更常见。

XML 对照:inflate 与 onResume 之间那条职责线

见正文:副作用边界

LaunchedEffect

进入组合时起协程;离开组合或 key 变化时取消。适合收集一次性事件、滚动、聚焦;业务请求仍放 ViewModel。

XML 对照:这段界面在屏上时跑、拿掉就停(≠ 单纯 onResume)

见正文:副作用 · LaunchedEffect

DisposableEffect

需要成对「注册 / 反注册」时用,离开组合时走 onDispose。

XML 对照:onStart 注册、onStop 反注册

见正文:副作用 · DisposableEffect

rememberCoroutineScope

在组合内拿到可在点击等回调里启动协程的作用域,随离开组合而取消。不是进页即跑。

XML 对照:点击里的 lifecycleScope.launch

见正文:副作用 · Scope

BackHandler

进入组合时接管系统返回,离开自动卸掉。

XML 对照:OnBackPressedCallback

见正文:副作用 · BackHandler

LifecycleResumeEffect

对齐 Activity 前台/后台;Home 再回来时 LaunchedEffect(Unit) 不会重跑。

XML 对照:onResume / onPause

见正文:副作用 · 生命周期

SideEffect

每次成功组合之后同步执行,把 Compose 状态写给非 Compose 对象。不要拿它发网络。

XML 对照:布局完成后再改外部对象

见正文:副作用 · SideEffect

列表与导航

Lazy 列表

只组合可见附近的条目(LazyColumn / LazyRow),适合长列表,别拿普通 Column 硬滚几千项。

XML 对照:RecyclerView

见正文:列表 · Lazy

item key / 稳定性

给列表项稳定身份,增删排序时减少错乱重组与状态错位。

XML 对照:Adapter 稳定 id / DiffUtil

见正文:列表 · key

Navigation 目的地

导航图上的一页:通常对应一个 composable 路由。

XML 对照:nav_graph 里的 destination / Fragment / Activity

见正文:导航 · XML 三套 · Compose

返回栈

系统返回键 / 手势要回到的历史页面栈。

XML 对照:Activity Task / Fragment 返回栈 / NavController 栈

见正文:导航 · 返回栈

路由

目的地的路径标识。主线先用字符串 route,够写常见多页。

XML 对照:nav_graph 的 id / deep link 路径 / Safe Args

见正文:导航 · 传参

主题与品质

MaterialTheme

Material 3 颜色、字体、形状的统一入口,子树里用 MaterialTheme.colorScheme 等读取。

XML 对照:themes.xml / styles / Material Components 主题

见正文:主题 · MaterialTheme

深色模式

跟系统或手动切换深浅;Compose 侧常用 isSystemInDarkTheme 与配色方案。

XML 对照:values-night 资源目录

见正文:主题 · 深色

semantics / contentDescription

让读屏等辅助功能读懂控件含义;图片、图标按钮尤其需要。

XML 对照:contentDescription / importantForAccessibility

见正文:主题 · 无障碍

stringResource

从字符串资源读文案,便于多语言与统一改字。

XML 对照:@string/… / getString

见正文:主题 · 资源

Android Compose 现代开发知识体系 · 主线必读 / 扩展选读。
术语表常驻;组件与属性先看分讲,再查两张总表。案例默认收起。