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

如何解决没有主线程可以存在后台线程吗?

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

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

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

解决方法

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?