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。

最新文章

  1. MongoDB 基础知识
  2. 【2016-08-18】转载:总结C++中几种结构体初始化的方法
  3. 【HTML5】Video + DOM
  4. android上传文件到wamp服务器
  5. Linux Kernel 4.8分支第4个候选版本发布
  6. sort排序中的坑
  7. 如何在Linux桌面环境下自动启动程序?
  8. Qt树形控件QTreeView使用1——节点的添加删除操作 复选框的设置
  9. WindowsPhone 8 开发 之 本地数据库应用
  10. BZOJ 1782: [Usaco2010 Feb]slowdown 慢慢游( BIT + dfs )
  11. heap和stack的区别
  12. centos 修改主机映射
  13. md5加密用户登陆遇到的问题及解决办法
  14. 如何删除windows中运行的历史记录
  15. 4-20模块 序列化模块 hashlib模块
  16. 数据加密之DES加密
  17. FMS4.5( Adobe Flash Media Server4.5)流媒体服务器搭建
  18. 使用Appium 测试微信小程序和微信公众号方法
  19. hdoj1171 Big Event in HDU
  20. MySQL两个日期字段相减得到秒的方法

热门文章

  1. 数据库日常维护-CheckList_03有关数据库数据文件大小检查
  2. Oracle 故障处理总结
  3. Vertica 7.1安装最佳实践(RHEL6.4)
  4. Windows下Memcached安装与配置实例
  5. 详解:基于WEB API实现批量文件由一个服务器同步快速传输到其它多个服务器功能
  6. 怎样写一个webpack loader
  7. 『.NET Core CLI工具文档』(二).NET Core 工具遥测(应用信息收集)
  8. [译]Google官方关于Android架构中MVP模式的示例
  9. atitit.日期,星期,时候的显示方法ISO 8601标准
  10. 学习笔记 MYSQL报错注入(count()、rand()、group by)