没有主线程可以存在后台线程吗?

问题描述

如果我从后台/最近的应用程序列表中删除应用程序,UI 线程也会停止,以便系统可以回收与 UI 关联的内存。现在考虑一个触发 PeriodicWorkRequest 的情况,它反过来启动一个工作程序(在应用程序从后台/最近的应用程序列表中删除之后)。工作人员隐式地在单独的后台线程上运行并执行分配的任务。但是 UI/Main 线程是否也与工作线程一起创建?

应用可以在没有活动的情况下存在。它可以有其他组件,如服务等,没有 UI。在这种情况下,UI/Main 线程是否还存在?

或者在任何其他情况下,是否可以存在没有 UI/Main 线程而只有工作线程的进程?

解决方法

在安卓中,事情变得非常复杂。 Android 是一个支离破碎的生态系统,一些 OEM 执行一些设备更改,这会导致跨设备的不同行为,例如,当您关闭应用程序而不是进行宽限期关闭时,它会杀死以提供立竿见影的效果。甚至后台工作者也不是很可靠,多读一些here

后台工作人员是您最好的选择。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...