什么时候用IntentService

Posted 李雷雷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么时候用IntentService相关的知识,希望对你有一定的参考价值。

IntentService是继承自Service类的,在执行耗时操作时,其实,只需要在service中的onStartCommand(主线程)新启一个线程即可,那IntentService什么时候用来会比较好呢?

我们通过startService多次启动了IntentService,这会产生多个job,由于IntentService只持有一个工作线程,所以每次onHandleIntent只能处理一个job。面多多个job,IntentService会如何处理?处理方式是one-by-one,也就是一个一个按照先后顺序处理,先将intent1传入onHandleIntent,让其完成job1,然后将intent2传入onHandleIntent,让其完成job2…这样直至所有job完成,所以我们IntentService不能并行的执行多个job,只能一个一个的按照先后顺序完成,当所有job完成的时候IntentService就销毁了,会执行onDestroy回调方法。

所以在批量执行任务时,如果对性能开销有严格要求时,可以考虑使用IntentService。

以上是关于什么时候用IntentService的主要内容,如果未能解决你的问题,请参考以下文章

resource啥时候用单数?啥时候用复数?

什么时候用堆,什么时候用栈?

什么时候用Iterable,什么时候用Iterator? [复制]

什么时候用字节数组,什么时候用流?

什么时候用resultMap,什么时候用resultType?

什么时候用Model,什么时候用Entity?[转载知乎-备忘]