Jetpack Compose 知识体系概览
问题
Jetpack Compose 是什么?它和传统 View 体系有什么本质区别?
答案
知识体系全景
Compose vs View 体系
| 特性 | 传统 View | Jetpack Compose |
|---|---|---|
| 编程范式 | 命令式(操作 View 对象) | 声明式(描述 UI 状态) |
| UI 描述 | XML + Kotlin/Java | 纯 Kotlin |
| 状态管理 | 手动同步 View 状态 | 状态驱动 UI 自动更新 |
| 布局嵌套 | 多层 ViewGroup | Compose 编译器优化,无嵌套问题 |
| 预览 | 需运行 App | @Preview 即时预览 |
| 学习曲线 | 低 | 中(需理解函数式思维) |
核心概念
声明式 UI 的核心思想:UI 是状态的函数 UI = f(State)。当状态改变时,框架自动重新执行相关的 Composable 函数来更新 UI。
面试重点
- Recomposition(重组) 机制是 Compose 面试第一高频
- 理解
remember和mutableStateOf的区别 - 副作用 API(
LaunchedEffect、DisposableEffect)的使用场景 - Compose 性能优化(稳定性、延迟读取、
derivedStateOf)