Android doc说“像活动和其他组件一样,服务在应用程序进程的主线程中运行。”
主线程是否与UI线程相同?
答案 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)