我想知道在Android thread
中启动Service
是否是一个好主意?
或最佳做法是使用服务机构并在那里做你的东西?
答案 0 :(得分:2)
是的,这是一个很好的做法,当本服务必须无限期地完成某项工作时,您应该这样做。如果要执行单个操作,请改用IntentService。 服务也可以绑定到任何其他组件(活动,另一个服务)并同时启动,因此即使应用程序最小化或关闭,您也可以在后台工作。 想象一下,您必须无限期地执行一些长时间运行的操作,并通过UI与这些操作进行交互。要做到这一点,创建服务,启动它并同时绑定它。您将在绑定期间从ServiceConnection获取用于控制此服务的接口。服务可以同时进行长时间运行。关键在于,不同的Activitis可以绑定到此服务并以不同的方式表示操作。 另一方面,Intent服务默认运行自己的后台线程,但是当该线程上的工作完成时,它会自动停止。