至于活动,Intent,Broadcast Receiver等其他应用程序组件,我可以理解它们的用例,但是在文档中编写Service的任何用例都可以使用具有静态成员(变量和方法)的简单Java类来实现。 就像我需要下载文件服务一样。 我可以有一个静态方法,它将在参数中接收taskListener和其他必需参数(例如文件的url)并下载文件异步并将回调给予taskListener的回调方法。 那么我为什么要使用服务呢。
请有人向我解释使用示例
的服务的原因答案 0 :(得分:2)
首先,如果您愿意,可以通过导出服务从应用程序外部启动或绑定服务。这不能通过简单的Java类完成。这对于大多数专业服务(输入法,AccessibilityService
,TileService
等)至关重要。
其次,服务提升了流程的重要性,告诉Android它正在代表用户开展工作。这有助于使流程保持更长时间,然后Android终止该流程以释放其他应用程序的系统RAM。这不能通过简单的Java类完成。因此,例如,虽然您可以使用简单的Java类下载文件,但Android可能会在完成下载之前终止您的进程。如果下载是由服务管理的,则不太可能。