直播搭建中Android service两种启动方式的区别

[复制链接]
查看: 2124|回复: 0
发表于 2020-4-8 16:38:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

直播搭建中的Android service服务不能自己运行,需要通过调用Context.start Service或者Context.bindService方法启动服务。两种方法都可以启动Service,但是它们的适用场合有所不同。使用startService方法启用服务,调用者与服务之间没有关联,即使调用者退出,服务仍然运行。使用bindService 方法启用服务,调用者与服务绑定在一起,调用者一旦退出,服务也就终止。
Context.startService启动
在服务未被创建之前,系统会先调用服务的onCreate方法,接着调用onStart 方法,如果调用startService方法前服务已被创建,多次调用startService方法并不会导致多次创建服务,但会导致多次调用onStart方法。采用startService方法启动的服务,只能调用Context.stopService方法结束服务,服务结束时会调用onDestroy方法。
Context.bindService方法启动
在服务未被创建时,系统会先调用服务的onCreate方法,接着调用onBind方法。这个时候调用者和服务绑定在一起,调用者退出,系统就会先调用服务的onUnbind方法,接着调用onDestory方法并不会导致多次创建服务及绑定和onBind方法并不会被多次调用。若果调用者希望与正在绑定的服务器解绑,可以通过调用unbindService的方法,调用该方法也会导致系统调用服务的onUnbind方法。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

 
 
工作时间:
8:00-18:00
客服热线:
15368564009
客服微信