Android Activity和Service有什么区别?

在活动和服务之间有很大的混淆。 我的目标是运行一个音乐播放器。 在大多数的文件中说,要运行一个活动的后台工作,你应该使用服务。 但是它可以从一个活动本身创build的线程中调用一个玩家。 而且,即使活动被破坏,线程也不会破坏。

如果是这样的话,服务的用法是什么? 为什么要使用服务和何时使用服务?

Plz澄清我的怀疑!

提前致谢。

Solutions Collecting From Web of "Android Activity和Service有什么区别?"

活动是一个GUI和服务是非gui线程,可以在后台运行。 一些更多细节在这里。

活动 活动是一个应用程序组件,它提供了一个用户可以进行交互的屏幕,以便执行某些操作,如拨打电话,拍照,发送电子邮件或查看地图。 每个活动都有一个窗口来绘制其用户界面。 窗口通常填满屏幕,但可能比屏幕小,并漂浮在其他窗口顶部。

服务

*服务是一个应用程序组件,可以在后台执行长时间运行的操作,并且不提供用户界面。 另一个应用程序组件可以启动一个服务,即使用户切换到另一个应用程序,它也将继续在后台运行。 此外,一个组件可以绑定到一个服务来与之交互,甚至执行进程间通信(IPC)。 例如,服务可以在后台处理networking事务,播放音乐,执行文件I / O或与内容提供者交互。 一项服务基本上可以采取两种forms:

启动当应用程序组件(如活动)通过调用startService()启动服务时,服务将“启动”。 一旦启动,服务可以无限期地在后台运行,即使启动它的组件被销毁。 通常,启动的服务执行单个操作,不会将结果返回给调用者。 例如,它可能通过networking下载或上传文件。 操作完成后,服务应该自行停止。 绑定当应用程序组件通过调用bindService()绑定服务时,该服务是“绑定”的。 绑定服务提供了一个客户端 – 服务器接口,允许组件与服务进行交互,发送请求,获得结果,甚至跨进程使用进程间通信(IPC)。 绑定的服务只在另一个应用程序组件绑定的时候运行。 多个组件可以一次绑定到服务,但是当它们全部解除绑定时,服务将被销毁。

这可能会帮助你参考活动

对于服务你可以检查这个链接