Service和IntentService的区别

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讲义第二版




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章