Android Activity和Service之间有什么区别

时间:2011-02-19 09:33:18

标签: android

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

如果是这样,这里的服务用途是什么? 我们为什么要使用服务以及何时使用服务?

Plz澄清了我的怀疑!

提前致谢。

2 个答案:

答案 0 :(得分:9)

Activity是一个GUI,服务是非gui线程,可以在后台运行。更多细节here.

答案 1 :(得分:3)

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

<强>服务

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

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

This may help you to refer for activity

for services you can check this link