IntentService提供了一种在后台线程中执行任务的方式,适合处理执行时间较长的后台任务。
优点:
(1)IntentService运行在单独的线程中,不会阻塞UI线程
(2)IntentService不受生命周期的影响
缺点:
(1)不能与UI直接进行交互,可以用Broadcast
(2)顺序执行请求,第二个请求只有在第一个请求执行完以后才能执行
(3)请求不能被中断
使用IntentService的步骤:
(1)在Activity中通过startService启动service,并传递参数。
(2)Service中接收参数,做耗时的处理,处理完毕,发送Broadcat,并把处理结果传递出来
(3)Activity中注册BroadcastReceiver,监听广播,更新UI。