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生命周期图:
时间: 2024-10-18 13:28:45