Service有两种启动方式,主要是startService和bindService。Service的生命周期方式onCreate,onStart,onDestroy。而这两种启动方式对Service声明周期的影响是不一样的。
1、startService方式启动服务,调用者与服务之间没有关联,即使调用者退出了,服务正常的运行,多次调用startService()方法并不会创建多个服务, 但是onStart()方法会被多次调用。通过startService,Service会经历 onCreate -> onStart,stopService的时候直接onDestroy。
2、bindService方式启动服务,调用者与服务之间绑定在一起,即调用者退出了,服务也就停止了。通过bindService, Service会经历onCreate-onBind,这个时候服务的调用者胡服务绑定在一起。调用者退出了,Service就会调用onUnbind->onDestoryed,所谓绑定在一起就共存亡。
2万+


Service的两种启动方式的区别?&spm=1001.2101.3001.11974&articleId=50109241&d=1&t=3&u=64acfcdcdfc541139388abdb24b49c63)

被折叠的 条评论
为什么被折叠?



