Jetpack Compose学习之rememberCoroutineScope
compose
compose - Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,通过Compose文件格式简化应用部署过程。
项目地址:https://gitcode.com/gh_mirrors/compose/compose
免费下载资源
·
rememberCoroutineScope是干什么的?
一句话,类似于GlobalScope一样,这个就是让你在Composable中使用协程的
看代码
@Composable
fun HelloContent() {
val inputText = remember { mutableStateOf("") }
val scope = rememberCoroutineScope()
Column(modifier = Modifier.padding(16.dp)) {
scope.launch(Dispatchers.Main) {
for (i in 0..10000) {
delay(100)
logcat("i:$i")
}
}
DisposableEffect(key1 = inputText.value) {
logcat("on spose")
onDispose {
logcat("onDispose")
}
}
Text(
text = "Hello",
modifier = Modifier.padding(bottom = 8.dp),
style = MaterialTheme.typography.h5,
)
OutlinedTextField(
value = inputText.value,
onValueChange = { inputText.value = it },
label = { Text(text = "Name") },
)
}
}
从上面的代码中可以看到,我们使用rememberCoroutineScope很容易启动创建一个scope,然后调用他的launch方法。
之所以用它,而不是用GlobalScope,是因为它可以再dispose之后,自动停止协程的执行,看日志
04-26 15:56:17.731 14727 14727 E yanlog : i:85
04-26 15:56:17.832 14727 14727 E yanlog : i:86
04-26 15:56:17.933 14727 14727 E yanlog : i:87
04-26 15:56:18.033 14727 14727 E yanlog : i:88
04-26 15:56:18.156 14727 14727 E yanlog : onDispose
GitHub 加速计划 / compose / compose
33.27 K
5.15 K
下载
compose - Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,通过Compose文件格式简化应用部署过程。
最近提交(Master分支:2 个月前 )
501b5acd
Add `jhrotko` to Core Maintainers.
Signed-off-by: Laura Brehm <laurabrehm@hey.com>
7 天前
f51bc4cd
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
7 天前
更多推荐
已为社区贡献2条内容
所有评论(0)