我正在尝试使用线程池执行器在android中的一个单独线程中执行特定任务,最大线程大小为5,以确保一次可以运行五个并行任务。但这种方法的问题是,当我关闭应用程序时,线程也会被杀死。我希望这超出应用范围。我本可以选择使用AIDL服务的。但问题是,我需要继续绑定和取消绑定到服务,并且在发送对象之前需要对其进行打包。此外,当任务完成时,我需要与调用应用程序进行通信。这是我使用广播可以实现的。我想知道我是否可以让一个线程在一个单独的进程中运行,或者我只需要使用AIDL?请帮我理解!
根据定义,线程是应用程序的一部分。然后,不可能在应用程序之外有线程。
当你有一个从不创建或使用新线程的应用程序时,你运行的是一个主线程,它使用操作系统分配给该应用程序的全部CPU时间。
因此,您的选择是:
1) 让你的应用程序在后台运行并连接到它。
2) 使用服务方式。
希望这能帮助你理解。
服务听起来像您想要的(因为即使应用程序消失,它也可以继续运行)。艾滋病更让人痛苦,但这正是你需要做的,才能得到你所要求的行为。