Android Service解析

1.startService

  a.有种启动线程的感觉,启动过后和activity没有关系。

  b.不会自动销毁,需要人为的去销毁(包括绑定Service后又启动Service)

  c.在线程中只启动一个服务,当多次调用startService,则多次启动onStartCommond,而不会调用ONCreate方法

2.bindService

  a.有种服务器和客户端的感觉,Service为服务器,activity为客户端

  b.只启动一个服务,当多次调用bindService,并不会调用Service的任何方法。是一对一,一个service只被一个activity绑定,直到activity调用onbind

  c.当activity销毁时,绑定的服务也随之销毁,但是有例外,如果在销毁前服务被以startService的方法启动并调用OnStartCommond方法时 ,activit调用onUnbind方法

    并反回true时,此时的服务并不会被销毁,当有activity再次bindService时,会调用onRebInd方法反回当时的IBinder,知道调用stopService才会销毁服务

附加:

  Service生命周期图:

    

原文地址:https://www.cnblogs.com/zhangfan94/p/4617117.html