IntentService本质上是一个特殊的Service,继承自Service,内部通过HandlerThread+Handler实现异步操作;
IntentService启动方式跟普通的Service完全一样,内部有一个工作线程来处理耗时操作,当任务执行完之后IntentService会自动停止,而不需要我们手动stopSelf();另外可以启动IntentService多次,而每一个耗时操作都会以工作队列的方式在IntentService的onHandleIntent回调方法中执行,并且每次只会执行一个工作线程,执行完第一个再执行第二个。
创建IntentService,只需要实现onHandleIntent和构造方法,onHandleIntent为异步方法,可以执行耗时操作。
源码分析参考:https://blog.csdn.net/carson_ho/article/details/53407806