主线程与UI线程相同吗?

时间:2010-07-16 01:42:20

标签: android

Android doc说“像活动和其他组件一样,服务在应用程序进程的主线程中运行。”

主线程是否与UI线程相同?

6 个答案:

答案 0 :(得分:69)

看起来像。引自http://android-developers.blogspot.com/2009/05/painless-threading.html:“当应用程序启动时,系统会为应用程序创建一个名为”main“的线程。主线程,也称为UI线程......”,官方API文档。

答案 1 :(得分:20)

UI主题主要主题仅在 Android 中相同。

主线程,负责处理 UI事件,例如绘制,收听和接收 UI事件

Ans还负责与运行属于的相应应用程序的 UI工具包组件进行交互。

当应用程序中出现User事件时,主线程 *

  

需要在队列中添加事件 - >关于这个事件的亲密关系   适当的观点 - >改变视图的状态 - >重绘视图   根据状态变化 - >等待响应   特定事件动作 - >在暗示和事件行动完成后   需要删除队列中的事件。

*

以上每个操作都由主线程处理(不仅是上面的操作,它是 UI线程处理的操作之一),所以如果我们的应用程序无法响应 5秒的事件。安卓将显示错误“无响应”

因此,只有广泛建议在 UI线程中执行轻量级处理。

希望这个答案对我这样的新机器人蜜蜂来说有点细节和帮助。 我刚刚分享了我对UI Thread的了解。如果我在任何地方出错了,请不要犹豫我。

答案 2 :(得分:10)

“主应用程序线程”有时称为“UI线程”。

答案 3 :(得分:8)

基本上主线程是Ui线程。
然而,有时它们可​​能是不同的踏板!
系统应用程序可以在不同的线程上具有多个视图 此外,如果您使用支持注释,请注意同时提供@MainThread@UiThread
在这里,第一个是注释与App生命周期相关的方法,第二个是负责视图层次结构的方法。
https://developer.android.com/studio/write/annotations.html

答案 4 :(得分:2)

每个Activity都有自己的UI线程。 一旦VM启动,系统服务器就会由Zygote启动。活动管理器服务等所有其他服务都由System Server以新线程启动。

答案 5 :(得分:1)

是。主线程是UI线程。

有关android

中后台处理的完整详情,请参阅this tutorial