Android中service之初见

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基础上又对线程进行了一定处理,具体看官方文档
   

你可能感兴趣的:(java,thread,android,manager,service,文档)