Android 文档说“像活动和其他组件一样,服务在应用程序进程的主线程中运行。”
这里的主线程和 UI 线程是一样的吗?
看起来是的。引自 http://android-developers.blogspot.com/2009/05/painless-threading.html: “当应用程序启动时,系统为应用程序创建一个名为“ main”的线程。主线程,也称为 UI 线程...”,官方 空气污染指数文档。
“主应用程序线程”有时被称为“ UI 线程”。
每个活动都有自己的 UI 线程。 一旦 VM 启动,系统服务器就由 Zygote 启动。所有其他服务(如活动管理器服务)都是在系统服务器的新线程中启动的。
UI 线程 和 主线仅在 仿生人中相同。
该 主线,这是负责处理的 UI 事件喜欢画,听和接收的 UI 事件。
同时,它还负责与运行 UI 工具包的 组件交互,以获得属于。
当应用程序中发生 User 事件时,主线 *
需要添加事件在队列-> 亲密的事件到 合适的视图-> 更改视图的状态-> 重新绘制视图 根据状态更改-> 等待 特别活动行动-> 在预告及活动行动完成后 需要删除队列中的事件。
*
以上每一个动作都是由 主线处理的(不仅仅是上面的操作,它也是由 UI 线程处理的一个操作) ,所以如果我们的应用程序没有响应关于 5秒 android 的事件,就会显示出错误 “没反应”。
因此,只有广泛建议在 UI 线程中进行光处理。
希望这个答案能够对像我这样的新机器人蜜蜂有所帮助。 我只是分享了我所学到的 UI 线程。如果我在任何地方出错了,请不要犹豫纠正我。
是的,主线程是 UI 线程。
有关 android 中后台处理的详细信息,请参阅 本教程
基本上主线程是 Ui 线程。 然而 有时它们可以是不同的胎面! 对于在不同线程上具有多个视图的系统应用程序来说,这是可能的。 另外,如果使用支持注释,请注意 @MainThread和 @UiThread同时可用。 在这里,第一个方法用于注释与 App 生命周期相关联的方法,第二个方法用于注释负责视图层次结构的方法。 Https://developer.android.com/studio/write/annotations.html
@MainThread
@UiThread