56. 简述IntentService原理分析 ?

HandlerThread其实就是为了我们在 子线程中减少自己创建Looper以及运转Looper而出现的,

那么这次的IntentService其实封装的更巧妙,使用 HandlerThread的时候我们还需要创建Handler对象出来,

但是使用IntentService连Handler对象也不用我们创建了,可 见google为了让程序员使用简便做了多少工作,

先来说说IntentService是干什么的,他是一个抽象类,因而我们在使用的时候需要创建一个实 现他的类出来,

它里面仅有一个抽象方法就是onHandleIntent了,我们可以在这个方法里面做一些处理Intent的操作了,

作为Service 的一种,IntentService自然也是在后台执行的,也是通过startService启动的,

他的优先级要高于一般的线程,那么 IntentService有什么用处呢?适合于执行一些高优先级的后台耗时任务,

高优先级的后台任务是Service的特点,但是由于Service是 处于主线程的,他不适合处理耗时任务,

但IntentService却可以,原因就在于IntentService在创建的时候就会开启一个线程出来,耗 时任务是在该线程中进行的,

具体点说这里的线程其实就是HandlerThread了,在耗时任务处理结束之后该Service会自动停止&#

相关链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。