安卓 - 前台服务和后台服务有什么区别?

9

从android.com网站上可以了解到,前台服务是用户知道的,如果需要内存,前台服务不太可能被杀掉。而后台服务可能被杀掉,如果需要内存的话。这是唯一的区别吗?还是有些服务可以提供额外的功能呢?

我的主要问题是,既然后台服务很容易被杀掉,为什么还要使用它呢?有没有人能举个例子,说明一个应用程序会使用后台服务?

1个回答

29
以下是翻译内容:

这是唯一的区别吗?还是有些服务可以提供额外的功能?

要创建前台服务,您必须在状态栏中显示一个 Notification。理想情况下,该 Notification 应该让用户能够控制应用程序的操作,例如停止前台服务正在执行的任务(例如播放音乐)。

如果后台服务很可能被杀死,那么为什么还会使用它?

除了其他原因外,如果您没有充分的理由将图标添加到用户的状态栏中,用户会非常不满意。

通常情况下,您都不使用这两种类型的服务,除非它们能够为用户提供实际价值。许多后台服务都是短暂的,只完成特定的工作(例如检查邮件服务器是否有新邮件),然后就会结束。对于这种工作,没有强制要求必须使用前台服务,尽管一些开发人员仍会这样做。

能否提供一个使用后台服务的应用程序示例?

您设备上的大多数应用程序都使用后台服务。


太棒了,正是我在寻找的答案。谢谢。 - Garin
好内容。我喜欢阅读这个链接。我感到自豪,我没有将“Service”用于其真实目的之外 :) - mr5
这是我看过与此话题相关的最佳答案。 - Oto-obong Eshiett

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接