首先IntentService是个虚类。说到IntentService首先要说说Service。Service一般是执行在主线程里,所以无法在Service中进行耗时任务的操作。IntentService就是用来完成异步处理耗时操作的。
IntentService有两个重要的成员变量,分别是Looper和ServiceHandler。ServiceHandler是一个内部类。
ServiceHandler的作用是在处理完一个消息之后将自己停止。
onHandleIntent是IntentService一个重要的虚函数,集成IntentService时要实现这个方法。IntentService把实现处理Intent事务的行为都封装到这个方法中。
一言以蔽之吧,就是IntentService开启了一个线程,之后用一个自定义Handler来绑定这个线程,这个线程的Looper中的消息的处理都交给子类来实现,自己什么都不干。
之后每处理一个消息把自己关了接着等。Over。