android服务的开启方式,android的两种启动service方式及混合方式

一、startService

1、通过调用startService启动服务的过程:

onCreate —》onStartCommand —》onStart

startService 仅用于启动服务,如果Activity需要与Service进行通信,需利用Broadcast。

2、而后,多次调用startService,服务会多次执行:

onStartCommand —》onStart

3、多次调用startService后,调用一次stopService即可结束服务。(若多次调用stopService,只有第一次有用)

4、调用stopService的服务结束过程:

—》onDestroy

另外,

Activity的启动过程:onCreate —》onStart —》onResume

Activity的退出过程:onPause —》onStop —》onDestroy

二、bindService

1、通过调用bindService启动服务的过程:

onCreate —》onBind  —》(onServiceConnected)

bindService 可用于启动服务,且能使Activity与Service进行通信。

2、多次调用bindService,服务本身未执行任何操作。

3、所以一次unBindService就能结束服务。(若多次调用unBindService,第一次有用,后面会出错)

4、调用unBindService的服务结束过程:

onUnbind —》onDestroy

三、先startService,后bindService

1、先调用startService,后调用bindService。服务的执行过程为:

onCreate —》onStartCommand —》onStart —》onBind  —》(onServiceConnected)

2、先unBindService,后stopService。服务结束的执行过程:

onUnbind —》onDestroy

需注意的是:unBindService会执行到onUnbind,stopService会执行到onDestroy。

3、先stopService,后unBindService。服务结束的执行过程:

onUnbind —》onDestroy

需注意的是:stopService不会执行任何操作,unBindService会执行到onUnbind—》onDestroy。

四、先bindService,后startService

1、先调用startService,后调用bindService。服务的执行过程为:

onCreate —》onBind  —》(onServiceConnected) —》onStartCommand —》onStart

2、先unBindService,后stopService。

服务执行的过程同 三。

3、先stopService,后unBindService。服务结束的执行过程:

服务执行的过程同 三。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值