1

至于其他应用程序组件,如活动、意图、广播接收器,我可以理解它们的用例,但是文档中编写的任何服务用例都可以使用具有静态成员(变量和方法)的简单 Java 类来实现。就像我需要下载文件服务一样。我可以有一个静态方法,它将在参数中接收 taskListener 和其他必需的参数(例如文件的 url)并异步下载文件并将回调提供给 taskListener 的回调方法。那么我为什么要为此使用服务。

请有人通过示例向我解释使用服务的原因

4

1 回答 1

2

首先,如果您愿意,可以通过导出服务从应用程序外部启动或绑定服务。这不能通过简单的 Java 类来完成。这对于大多数专业服务(输入法、 、 等)来说是必不可少AccessibilityServiceTileService

其次,服务提升了进程的重要性,告诉 Android 它正在代表用户工作。这有助于在 Android 终止该进程以释放系统 RAM 以供其他应用程序之前使该进程保持更长时间。这不能通过简单的 Java 类来完成。因此,例如,虽然您可以使用简单的 Java 类下载文件,但 Android 可能会在下载完成之前终止您的进程。如果下载由服务管理,则这种可能性较小。

于 2016-05-25T13:43:34.873 回答