Service和IntentService的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Service和IntentService的区别相关的知识,希望对你有一定的参考价值。
参考技术A Service 相信大家都比较熟悉了,就不重点做阐述解释了.IntentService 也是继承 Service ,但是和正常的 Service 的区别有2点:
分析 IntentService 源码:
发现再 onCreate() 中开启来一个 HandlerThread ,并创建来 ServiceHandler ,从而保证当前任务的异步处理和任务的单一处理;
我们看到再 onStart() 方法中, mServiceHandler 发送来执行任务的 msg ,接下来我们看下 mServiceHandler 中的接收处理
可以看到接收到任务后,直接调用 onHandlerIntent() 方法来处理异步任务,任务结束后自动调用 stopSelf() 来终止线程
经常我们的在广播或者 Service 的接收中要处理相关的耗时操作,建议采用 IntentService 来优化处理
到此,通过分析源码,之前说的2个区别都可以很明白的解释了!
以上是关于Service和IntentService的区别的主要内容,如果未能解决你的问题,请参考以下文章