Service生命周期

Service生命周期

相关函数

  • onCreate()
  • onStartCommand()
  • onBind()
  • onUnbind()
  • onStop()
  • onDestroy()

两条线Bind和Start线

  • bindService是为了在Activity中直接调用Service中的公共函数
  • startService函数的作用是通过intent传消息调用service中的私有函数

使用Bind时的生命周期

  • onCreate()第一次调用bindService时候调用,多次bind只有第一次会调用
  • onBind() 调用一次binService则执行一次
  • onUnBind() 在调用unBindService时候执行
  • onDestroy() bindServie的context不存在了或者没有已经没有绑定了,则对应Destroy函数被调用

使用startService时的生命周期

  • onCreate() 第一次调用startService时候嗲用,多次start则只有第一次会调用
  • onStartCommand() 每调用一次startService都会执行一次
  • onStop() context调用stopService的时候调用或者在服务里面调用stopSelf时执行
  • onDestroy() 调用stopService;或者调用stopSelf;onDestroy方法将会被调用,需要手动停止在Service中的线程等。

总结一下

  • onCreate()函数只有第一次bindService或者startService的时候调用一次,如果既有bindService也有startService也只会调用一次
  • onDestroy()函数调用条件有3个,满足其一就会被调
    1. bindService全部unbind
    2. 调用了stopService
    3. 调用了stopSelf
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值