标签:
IntentService
是Service
的子类,用来处理异步请求。客户端可以通过startService(Intent)
方法将请求的Intent
传递请求给IntentService
,IntentService
会将该Intent
加入到队列中,然后对每一个Intent
开启一个worker thread
来进行处理,执行完所有的工作之后自动停止Service
。每一个请求都会在一个单独的worker thread中处理,不会阻塞应用程序的主线程。IntentService 实际上是Looper,Handler,Service 的集合体,他不仅有服务的功能,还有处理和循环消息的功能.
所以在Service
中进行耗时的操作时必须要新开一个线程。
至于为什么要使用Service
而不是Thread
,这个主要的区别就是生命周期不同,Service
是Android系统的一个组件,Android系统会尽量保持Service
的长期后台运行,即使内存不足杀死了该服务(很少会出现内存不足杀死服务的情况)也会在内存可用的时候去复活该服务,而Thread随后都会被杀死
标签:
原文地址:http://www.cnblogs.com/huangzx/p/4465576.html