1.startservice (两种方法,继承service类或者继承intentservice 类)

继承service类,在onstartcommend重载方法中实现业务逻辑的处理,如果耗时过长最好新开一个线程,因为默认是在程序的主线程中,会造成阻塞等问题。

在有多个请求的时候,为了防止在第一个请求结束服务的时候第二个请求刚好传入,但因为服务被结束而失败,可以使用startid 配合 stopself(startid)进行判断,如果stopself(startid)中的ID与现有onstartcommdID不同的话就不会结束服务。

继承intentservice类,在onhandleintent中实现业务逻辑,该类其实是封装了hanlder处理方法,每次都是新开一个线程,可以排队处理多个请求,可以对请求进行异步处理,不用担心UI阻塞的问题,在所有的请求都处理完毕之后会自动关闭服务

2.bindservice

依然是继承service类,是通过startbindservice()进行启动,在service中实现onbind()进行业务处理,可以绑定多个启动者,并在onbind方法的返回值处返回自定义的继承了Binder类的实例,来让启动Activity获得该实例,用来执行一些service内部的公用方法,实现调用者和服务之间的通信。

当每一个该类型服务的调用者都与该service解除绑定之后,该实例会自动销毁。

最新文章

  1. MVP之V和P的交互
  2. HTML补充
  3. 同级兄弟元素之间的CSS控制
  4. Android GridView的使用
  5. 动画_ _ Android应用开发之所有动画使用详解
  6. RequireJS加载ArcGIS API for JavaScript
  7. My implementation of AVL tree
  8. Python新手学习基础之数据类型——变量
  9. GitBook是一个命令行工具(Node.js库),我们可以借用该工具使用Github/Git和Markdown来制作精美的图书,但它并不是一本关于Git的教程哟。
  10. .NET : 使用代码性能分析工具
  11. C# 语言规范_版本5.0 (第6章 转换)
  12. php 项目简单分类
  13. ucore lab1 bootloader学习笔记
  14. 2.1JAVA基础复习——JAVA语言的基础组成注释和常量变量
  15. yield与yield from
  16. icpc2018-焦作-F Honeycomb bfs
  17. 『Re』正则表达式模块_常用方法记录
  18. am335x system upgrade uboot nand boot(三)
  19. LeetCode 2. add two numbers && 单链表
  20. 不包含数据和字母的Webshell

热门文章

  1. Data Structure Array: Find if there is a subarray with 0 sum
  2. 【leetcode刷题笔记】Triangle
  3. 【Flask】ORM模型创建及数据库映射
  4. HTTPS协议原理透析
  5. bzoj 1699: [Usaco2007 Jan]Balanced Lineup排队 分块
  6. 单机版 RedisPoolUtil({基本操作封装工具类})【一】
  7. 1W字看懂互联网知识经济
  8. c语言代码风格2
  9. JS中的forEach、$.each、map方法推荐
  10. MySQL--Basic(一)