在哪里创建自己的线程,内部服务类或在我们给服务调用的活动表单内部

时间:2014-11-04 15:49:17

标签: android android-service

在android中,一个服务在其托管进程的主线程中运行,我想知道如果我想创建自己的线程,然后在哪里创建它,在内部服务类或在我们调用的活动表单内部服务 ..? 提前谢谢

2 个答案:

答案 0 :(得分:2)

通常,如果您的活动消失后需要保留线程,则需要在服务中运行它。服务的重点是超越活动的生命。

跨活动,服务和线程传递数据可能会使答案复杂化,因此即使线程在活动后仍未存在,您也可能最终在服务中运行线程,但这种情况很少见。

答案 1 :(得分:1)

您的活动应该启动您的服务,然后在服务中启动您的线程。如果您将服务启动代码放在一个线程中,那么所有操作都是在后台启动线程,但服务(以及您希望在后台运行的代码)仍将在主线程上运行

如果您没有尝试执行某项持续运行的任务,我建议您使用IntentService。使用IntentService,大部分线程处理和服务清理都是为您完成的。