首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当我使用find()创建一个视图并在模态窗口中打开它时,UI会冻结

当我使用find()创建一个视图并在模态窗口中打开它时,UI会冻结
EN

Stack Overflow用户
提问于 2020-01-21 14:38:24
回答 1查看 48关注 0票数 0

我在MainView中有一个MainView,并且我不断地向它添加很多数据(每秒超过2-10行)。此外,我有一个按钮,下面的动作:

代码语言:javascript
运行
复制
button.action {
   val window = find<AnotherView>("param" to mainViewModel.param)
   window.openModal(modality = Modality.WINDOW_MODAL, escapeClosesWindow = false)
}

UI (特别是tableView )在我点击按钮时冻结1-1.5秒,而数据是在tableView中添加的。如果我关闭AnotherView并再次单击按钮,新窗口将打开,几乎不冻结tableView。

有人知道怎么解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2020-01-21 15:40:21

听起来像是在获取UI线程上的数据。您需要在后台线程中获取数据,并且只有在有可用数据时才更新表项。一个简单的方法是运行使用runAsync { fetchData() } ui { table.items = it }, or even use the表。如果这不能解决这个问题,您需要在AnotherView中发布代码,这样我们就可以看到瓶颈所在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59843453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档