从后台线程更新 UI 是一种不好的做法,为啥? [关闭]
Posted
技术标签:
【中文标题】从后台线程更新 UI 是一种不好的做法,为啥? [关闭]【英文标题】:Updating UI from a background thread is a bad practice why? [closed]从后台线程更新 UI 是一种不好的做法,为什么? [关闭] 【发布时间】:2022-01-22 17:03:24 【问题描述】:我的教授在课堂上告诉我们,从后台任务更新 UI 元素是一种不好的做法,因为它可能会挂起我们的 UI,我不明白为什么,请有人详细说明
【问题讨论】:
【参考方案1】:后台线程不知道您的 ui 状态,简单来说,他们不知道您的 ui 是否仍然存在,在这种情况下,如果您尝试从后台线程更新您的 ui,并且如果您的 ui 元素有任何机会那时不存在,您的应用会出现异常(意外行为)或崩溃。
所以为了避免这种意外行为,我们只从主/ui线程更新ui。
【讨论】:
以上是关于从后台线程更新 UI 是一种不好的做法,为啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
为啥直接从 Servlet 访问 DAO 是一种不好的做法?
为啥向下转换在 C++ 中是一种不好的做法,而不是在另一种语言中呢? [关闭]