Android 开发 - mutableStateListOf 与 mutableListOf

📅 发布时间:2026/7/12 13:08:21 👁️ 浏览次数:
Android 开发 - mutableStateListOf 与 mutableListOf
mutableStateListOf 与 mutableListOf1、基本介绍mutableStateListOf 来自 Jetpack Compose 的运行时库它是可观察的列表变化会触发重组主要用于 UI 状态管理mutableListOf 来自 Kotlin 标准库它是不可观察的列表变化不会触发重组是通用的集合数据结构二者都支持列表的标准操作性能开销上面mutableStateListOf 开销较高因为有观察机制2、演示使用 mutableStateListOf会更新 UIvarfruitListremember{mutableStateListOf(苹果,香蕉,橙子)}Column{fruitList.forEach{fruit-Text(textfruit)}Button(onClick{fruitList.add(葡萄)}){Text(添加葡萄)}}使用 mutableListOf不会更新 UIvalfruitListremember{mutableListOf(苹果,香蕉,橙子)}Column{fruitList.forEach{fruit-Text(textfruit)}Button(onClick{fruitList.add(葡萄)}){Text(添加葡萄)}}3、使用 mutableListOf 更新 UI如果想让 mutableListOf 更新 UI使用 mutableStateOf 包装列表修改时必须赋值新的列表varfruitListbyremember{mutableStateOf(mutableListOf(苹果,香蕉,橙子))}Column{fruitList.forEach{fruit-Text(textfruit)}Button(onClick{valnewFruitListfruitList.toMutableList()newFruitList.add(葡萄)fruitListnewFruitList}){Text(添加葡萄)}}如果修改时没有赋值新的列表不会更新 UIvarfruitListbyremember{mutableStateOf(mutableListOf(苹果,香蕉,橙子))}Column{fruitList.forEach{fruit-Text(textfruit)}Button(onClick{fruitList.add(葡萄)}){Text(添加葡萄)}}