【发布时间】:2021-05-18 09:24:34
【问题描述】:
如果我从后台/最近应用程序列表中删除应用程序,UI 线程也会停止,以便系统可以回收与 UI 关联的内存。现在考虑一个触发 PeriodicWorkRequest 的情况,它反过来启动一个工作程序(在应用程序从后台/最近的应用程序列表中删除之后)。 worker 隐式运行在一个单独的后台线程上,并正在执行分配的任务。但是 UI/Main 线程是否也与工作线程一起创建?
应用可以在没有活动的情况下存在。它可以有其他组件,如服务等,没有 UI。这种情况下,UI/Main线程还存在吗?
或者在任何其他情况下,一个进程是否可以存在没有 UI/主线程,只有一个工作线程?
【问题讨论】:
-
主线程和 looper 将始终与应用程序一起初始化,无论它是如何启动的。