kotlin - 我是否需要手动销毁在视图模型中创建的 StateFlow 对象?
问题描述
代码 A 来自此处的 Android 官方示例项目。
作者创建了一个val uiState
,它的MutableStateFlow
,我知道MutableStateFlow
是热流,创建的时候会占用系统资源。
我需要自己销毁StateFlow
在视图模型中创建的对象吗?当应用不再需要它时,系统会自动释放它吗?
代码 A
class InterestsViewModel(
private val interestsRepository: InterestsRepository
) : ViewModel() {
// UI state exposed to the UI
private val _uiState = MutableStateFlow(InterestsUiState(loading = true))
val uiState: StateFlow<InterestsUiState> = _uiState.asStateFlow()
...
}
解决方案
它是一个普通对象,因此一旦没有对它的引用就会被清理(所以当观察视图和 ViewModel 都存在时)
推荐阅读
- google-cloud-platform - 通过 Google IoT 核心发布/订阅消息的最大有效负载大小是多少?
- mysql - 输入当前 root 密码时安装 MySQL 8.0.20 (Windows 10) 时出错
- html - Div 内部 Div 未水平对齐
- python - pandas.read_csv 将字符串转换为科学记数法中的“数字”(我不想要)
- webview - XCUITest - 如何从 Google 移动广告 SDK 访问 WebView 屏幕上的 UI 元素
- html - 带内笔画的圆形进度条
- linux - Linux 错误:-gt 一元运算符 shell 脚本
- antlr4 - antlr:如何不将单词的前缀作为标记的一部分
- c# - 在c#中读取二进制文件
- javascript - JavaScript Discord Bot 更新频道名称