intentservice
背景
Ø Service不是一个单独的进程 ,它和应用程序在同一个进程中。
Ø Service不是一个线程,所以我们应该避免在Service里面进行耗时的操作。
优点
Ø 不用手动开启;不用手动停止;不阻塞UI;方便使用。
原理
IntentService使用队列的方式将请求的Intent加入队列,然后开启一个worker thread(线程)来处理队列中的Intent,对于异步的startService请求,IntentService会处理完成一个之后再处理第二个,每一个请求都会在一个单独的worker thread中处理,不会阻塞应用程序的主线程。
如果有耗时的操作与其在Service里面开启新线程还不如使用IntentService来处理耗时操作。