56. 简述IntentService原理分析 ?
HandlerThread其实就是为了我们在 子线程中减少自己创建Looper以及运转Looper而出现的,
那么这次的IntentService其实封装的更巧妙,使用 HandlerThread的时候我们还需要创建Handler对象出来,
但是使用IntentService连Handler对象也不用我们创建了,可 见google为了让程序员使用简便做了多少工作,
先来说说IntentService是干什么的,他是一个抽象类,因而我们在使用的时候需要创建一个实 现他的类出来,
它里面仅有一个抽象方法就是onHandleIntent了,我们可以在这个方法里面做一些处理Intent的操作了,
作为Service 的一种,IntentService自然也是在后台执行的,也是通过startService启动的,
他的优先级要高于一般的线程,那么 IntentService有什么用处呢?适合于执行一些高优先级的后台耗时任务,
高优先级的后台任务是Service的特点,但是由于Service是 处于主线程的,他不适合处理耗时任务,
但IntentService却可以,原因就在于IntentService在创建的时候就会开启一个线程出来,耗 时任务是在该线程中进行的,
具体点说这里的线程其实就是HandlerThread了,在耗时任务处理结束之后该Service会自动停止
相关链接
发表评论