news 2026/7/28 22:25:46

Android 开发 - mutableStateListOf 与 mutableListOf

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Android 开发 - mutableStateListOf 与 mutableListOf

mutableStateListOf 与 mutableListOf

1、基本介绍
  1. mutableStateListOf 来自 Jetpack Compose 的运行时库,它是可观察的,列表变化会触发重组,主要用于 UI 状态管理

  2. mutableListOf 来自 Kotlin 标准库,它是不可观察的,列表变化不会触发重组,是通用的集合数据结构

  • 二者都支持列表的标准操作,性能开销上面,mutableStateListOf 开销较高,因为有观察机制
2、演示
  1. 使用 mutableStateListOf,会更新 UI
varfruitList=remember{mutableStateListOf("苹果","香蕉","橙子")}Column{fruitList.forEach{fruit->Text(text=fruit)}Button(onClick={fruitList.add("葡萄")}){Text("添加葡萄")}}
  1. 使用 mutableListOf,不会更新 UI
valfruitList=remember{mutableListOf("苹果","香蕉","橙子")}Column{fruitList.forEach{fruit->Text(text=fruit)}Button(onClick={fruitList.add("葡萄")}){Text("添加葡萄")}}
3、使用 mutableListOf 更新 UI
  1. 如果想让 mutableListOf 更新 UI,使用 mutableStateOf 包装列表,修改时必须赋值新的列表
varfruitListbyremember{mutableStateOf(mutableListOf("苹果","香蕉","橙子"))}Column{fruitList.forEach{fruit->Text(text=fruit)}Button(onClick={valnewFruitList=fruitList.toMutableList()newFruitList.add("葡萄")fruitList=newFruitList}){Text("添加葡萄")}}
  1. 如果修改时没有赋值新的列表,不会更新 UI
varfruitListbyremember{mutableStateOf(mutableListOf("苹果","香蕉","橙子"))}Column{fruitList.forEach{fruit->Text(text=fruit)}Button(onClick={fruitList.add("葡萄")}){Text("添加葡萄")}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/28 9:16:26

高校科研成果转化的新生态:从困局到共赢

在科技飞速发展的今天,高校作为科技创新的重要发源地,其科研成果的转化效率直接影响着国家整体创新能力的提升。然而,在传统转化模式下,高校科研处往往面临着信息壁垒、供需不对称等痛点问题。如何破解这一难题?“高校…

作者头像 李华
网站建设 2026/7/27 19:07:16

有效运用长尾关键词优化SEO策略的实用指南

本文将围绕长尾关键词如何优化SEO策略展开,深入探讨其在提升网站流量和搜索排名中的重要性。长尾关键词较为具体,通常由三个或更多词组成,能更精准地满足用户需求。在接下来的讨论中,我们将分析如何有效选择和运用长尾关键词&…

作者头像 李华
网站建设 2026/7/28 11:47:27

一文读懂 Java 主流编译器:特性、场景与选择指南

Java 主流编译器 一文读懂:特性、场景与选择指南(2025-2026 视角) Java 程序的“编译”分为两个阶段: 前端编译(javac / ecj 等):.java → .class 字节码(静态编译)后端…

作者头像 李华
网站建设 2026/7/28 7:34:25

实战案例:51单片机低功耗场景下的简易滤波实现

作为嵌入式工程师或电子信息专业学习者,你大概率遇到过这样的实操困境:用51单片机开发低功耗项目(如电池供电的温湿度采集、人体感应模块),硬件接线无误,但传感器采集的数据始终飘忽不定——温度忽高忽低、…

作者头像 李华