对IntentService的几点看法

网上讲解IntentService使用和原理的文档很多,我在这里就不再赘述。在这里,我想换个角度,说一下它的适用范围(scope),即在什么情况下最好使用IntentService,而不是其它的组件。

  • 更新客户端自身版本;
  • 需要在后台执行的单任务;
  • 多个能够容许异步执行的后台任务(即不需要同步执行,对时间和顺序要求不强的);

 

对于上面3种情况,其实很好理解,原因如下:

  • IntentService是借助于消息队列实现的,所以任务的执行顺序就是一个queue的形式;
  • 由于是单线程(一个工作线程),所以所有的任务需要排队执行;
  • 避免了我们再去创建线程和管理service的结束工作;

 

IntentService的优缺点都显而易见:

  • 使用方便,代码简洁,不再需要我们自己像Service里面还要去创建线程;
  • 由于是单个的worker thread,所以任务需要排队,不适合大多数的多任务情况;

你可能感兴趣的:(thread,工作,service,文档,任务)