首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何判断是否需要在UI线程上运行代码

如何判断是否需要在UI线程上运行代码
EN

Stack Overflow用户
提问于 2018-04-04 12:07:10
回答 1查看 78关注 0票数 1

我在我的应用程序中使用了一个工作线程,所以我必须知道哪些代码可以从工作线程中运行,哪些代码需要在UI线程上运行。

在Android文档中,可以找到以下提示:

因此,您不能从工作线程操作UI -必须从UI线程对用户界面进行所有操作。..。但是,请注意,您不能从UI线程或“主”线程以外的任何线程更新UI。

(来源)

但是,“对用户界面的操作”实际上意味着什么,通常并不像看起来那么清楚。当然,很明显,您不能隐藏视图、操作按钮文本、添加列表视图条目等等。

但是,例如,如何从工作线程调用setRequestedOrientation()呢?这是允许的,还是属于UI操作的,因此必须从UI线程中调用?有什么方法可以告诉我,或者我是否应该在有疑问的时候在UI线程上安全地运行代码?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-04 12:40:06

一般来说,您应该从API文档中获得指导。例如,Activity.onCreate()明确声明:

必须从应用程序的主线程调用此方法。

对于提供给Activity.setRequestedOrientation()的示例,没有明确声明应该在特定线程上调用该方法。通常,如果关心线程处理,文档就会声明这一点。

如果您希望确定,那么您也调用了Activity.runOnUiThread()

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

https://stackoverflow.com/questions/49650609

复制
相关文章

相似问题

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