IntentService将使用队列管理请求Intent,每当客户端通过Intent启动IntentService时,IntentService将会由该Intent加入到队列中,开启新的线程来处理该Intent。
对于异步的startService()请求,IntentService会处理Intent,该线程同一时刻处理一个Intent。
因此不会阻塞主线程。
Intentservice具有如下特征:
1.IntentService会创建新的work线程处理所有Intent请求。
2.IntentService会创建新的work线程来处理onHandleIntent()方法实现的代码,因此无需关心多线程问题。
3.请求完成的时候,IntentService会自动停止。
4.Service的onBind会提供默认的实现,该方法返回null
5.Service的onStartCommand提供默认的实现,会将Intent添加到队列中
用Service处理耗时操作容易造成ANR,而IntentService不会。
留待以后查看源码。
疯狂Android讲义第二版