淘宝(阿里百川)手机客户端开发日记第六篇 Service详解(一)

public abstract class Service;

[API文档关于Service类的介绍]

A Service is an application component representing either an application's desire to perform a longer-running operation while not interacting with the user or to supply functionality for other applications to use. Each service class must have a corresponding <service> declaration in its package's AndroidManifest.xml. Services can be started with Context.startService() and Context.bindService().

Note that services, like other application objects, run in the main thread of their hosting process. This means that, if your service is going to do any CPU intensive (such as MP3 playback) or blocking (such as networking) operations, it should spawn its own thread in which to do that work. 

大致意思是:一个服务是应用程序的组件,用来表示一个应用需要执行长时间的运行操作而不是一直和用户交互,或者是提供功能方便其它应用使用。每个服务必须有一个相对的<service>节点声明在 AndroidManifest.xml。服务可以被Context.startService() 和 Context.bindService() 来启动。

注意:像其它的应用对象的那些服务,运行在宿主的进程的主线程中,这意味着,如果你的服务打算和任意CPU有关联的,比如MP3 回放或者阻塞(诸如网络)操作,它就应该需要产生自己的线程来工作(意思是如果我们处理需要耗时的任务,我们应该开启新的线程来启动)。

Context.startService() 使用的地方是,服务用来处理后台的一些任务,而不与activity进行交互;

Context.bindService() 使用的地方是,服务和activity之间相互交互,比如从服务中取数据,此时调用的方法是Context.bindService,对应卸载服务的是Context.unbindService()。

 

下面我们将通过一幅图(来源于网络)来分别实现Context.startService() 和Context.bindService() 来加深对服务的认识。

淘宝(阿里百川)手机客户端开发日记第六篇 Service详解(一)

下一节提供DEMO,内容后续。

 转载请注明http://www.cnblogs.com/yushengbo,否则将追究版权责任!

 

你可能感兴趣的:(service)