news 2026/6/15 13:49:39

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/6/15 11:46:24

百考通AI:智能文献综述神器,让学术研究事半功倍!

在学术研究的征途中,文献综述往往是令无数学子"望而生畏"的关键环节。从海量资料中筛选核心文献、梳理研究脉络、规范引用格式,再到确保内容原创性,每一个步骤都耗费大量时间与精力。面对繁重的文献工作,许多学生不得不…

作者头像 李华
网站建设 2026/6/15 11:41:12

传统成果转化困局如何破?生态协同机制助力学术产业双赢

在当今科技飞速发展的时代,高校科研成果的转化已成为推动经济社会发展的重要驱动力。然而,在这一过程中,传统成果转化模式所面临的诸多困局却严重制约了科技成果的有效落地。本文将从传统转化困局出发,探讨生态协同机制如何破解这…

作者头像 李华
网站建设 2026/6/15 11:44:22

Rootless容器的安全优势与限制:在云原生时代重塑容器安全边界

第一部分:开篇明义 —— 定义、价值与目标 定位与价值 在云原生技术栈中,容器已成为应用交付与运行的事实标准。然而,传统的容器运行时(如默认配置的Docker、containerd)长期面临一个根本性的安全悖论:为了…

作者头像 李华
网站建设 2026/6/9 23:50:52

java分支与循环

Java 分支与循环 是 Java 基础语法中最核心的部分,几乎所有程序逻辑都依赖它们。 分支(选择结构)决定“走哪条路”,循环(迭代结构)决定“重复做多少次”。 下面从语法 → 特点 → 使用场景 → 代码示例 →…

作者头像 李华
网站建设 2026/6/10 19:08:51

移动化ERP,随时随地优化企业资源

ERP系统革新,为企业资源利用注入新活力在当今竞争激烈的商业环境中,企业资源的高效利用是取得成功的关键。而ERP系统作为企业管理的核心工具,其革新对于全方位优化企业资源利用具有至关重要的意义。一、传统ERP系统的局限性传统的ERP系统在企…

作者头像 李华