2016-03-31 261 views
-2

你能用这些例子来解释我吗?Service和IntentService有什么区别?

何时使用服务以及何时在应用程序开发过程中使用IntentServices。

+2

首先搜索谷歌,然后问你的问题。 http://stackoverflow.com/questions/15524280/service-vs-intentservice –

+0

**谢谢.... ** – Anilkumar

回答

3

服务是服务实现的基类。服务类在应用程序的主线程中运行,这可能会降低应用程序的性能。因此,IntentService是Service的一个直接子类,可以让事情变得更简单。 IntentService用于在后台执行某个任务。一旦完成,IntentService的实例将自动终止。其用法的例子是从互联网下载某些资源。

差异

服务类使用应用程序的主线程,而IntentService创建工作线程,并使用该线程来运行服务。

IntentService创建一个队列,每次将一个意图传递给onHandleIntent()。因此,应该通过直接扩展Service类来实现多线程。服务类需要使用stopSelf()手动停止。同时,IntentService在队列中没有意图时会自动停止。

IntentService实现了返回null的onBind()。这意味着IntentService不能默认绑定。

IntentService实现了将Intent发送到队列和onHandleIntent()的onStartCommand()。简而言之,使用IntentService只需做两件事情。首先,实施构造函数。其次,实现onHandleIntent()。对于其他回调方法,需要调用super才能正确跟踪它。

简而言之 服务是开发人员设置后台操作的更广泛的实现,而IntentService对于“火灾和遗忘”操作有用,负责后台线程创建和清理。

从文档:

服务服务是表示任一应用程序的执行更长的运行的操作,同时不与用户交互或用于其它应用程序使用,以提供功能性欲望的应用组件。

IntentService IntentService是服务的基类,用于按需处理异步请求(表示为Intents)。客户通过startService(Intent)调用发送请求;该服务根据需要启动,使用工作线程轮流处理每个Intent,并在其停止工作时自行停止。

http://www.coderzheaven.com/2013/07/12/main-differences-service-intent-service/

+0

添加此链接http://www.coderzheaven.com/2013/07/12/main- difference-service-intent-service/ –

+1

@IntelliJAmiya Ok ji ........谢谢。 –

+0

@IntelliJAmiya你的指导和支持是非常感谢....永远.... –

1

服务两者是Android服务,可以扩展到创建任何服务的基类。一个直接扩展Service的类在主线程上运行,所以它会阻塞UI(如果有的话),因此只能用于短任务或者应该使用其他线程来处理更长的任务。

IntentService是Service的一个子类,用于根据需要处理异步请求(表示为“Intents”)。客户通过startService(Intent)调用发送请求。服务根据需要启动,然后使用工作线程处理每个Intent,并在工作完成时自行停止。编写一个IntentService可以非常简单;只需扩展IntentService类并重写onHandleIntent(Intent intent)方法,您可以在其中管理所有传入请求。