Android中有非常多的service,其中又分为native层和java层,有activity manager控制的,也有service manager相关的。

我们先来看下java层的service。
最好的方法还是看官方文档http://developer.android.com/guide/topics/fundamentals/services.html#CreatingBoundService
个人理解,service其实就是符合一定规范且包含用于处理事件的thread的结合体。具体来说,比如xxService,首先需要new 一个xxService的空间,然后在service manager中注册自己,让别人可以调用到。在被start后(有两种方式),其在thread中完成工作,并根据要求进行结果响应。
service的规范要求如下
onCreate()
onStartCommand()
onBind()
onDestroy()

其中onCreate是第一次创建时会调用(可能是new的时候?). 因为service又分为两种形式(started and bound), 它们分别对应于onStartCommand 和 onBind
这两种形式主要是service的生命周期不同,前者被started以后,需要显式的调用stop或者自己stop。而后者则与其bind客户端同在(只要有客户端bind,它就不会释放)

在创建service时,你可以继承自service,也可以intentService,后者是在service基础上又对线程进行了一定处理,具体看官方文档

更多相关文章

  1. Android中调用Rest web服务
  2. [置顶] android framework Service分析
  3. Android使用ksoap2调用C#webservice体会
  4. Android之ActivityManagerService浅谈
  5. android编写访问http的代码
  6. Android(安卓)Fragment简记
  7. 利用半透明对话框实现新浪微博android客户端首次运行时的提示界
  8. Android开发便签9:在android资源文件中定义字符串数组
  9. Android(安卓)JsBridge 源码解析

随机推荐

  1. Android(安卓)RxJava:详解 条件 / 布尔操
  2. 如何编写高效的Android代码
  3. 浅析Android(安卓)View(一)
  4. Glide详细了解优缺点
  5. DynamicAPK基本概念
  6. Android手机开发总结
  7. Java内部类精炼详解—由Android点击事件
  8. 关于android UI布局自适应
  9. Android(安卓)UI优化之OverDraw
  10. 快速提高Android开发效率的Web工具