Service

目录

  • service简介
  • 创建,配置service
  • 启动,停止service
  • 绑定本地service并与之通信
  • service的生命周期
  • 使用IntentService

重点
- service的作用和意义
- 创建,配置,启动,停止service
- 绑定本地service并与之通信
- service的生命周期
- IntentService的功能和用法

一 service的理解

  • 代表可执行的程序
    1 创建子类,
    2清单文件中配置,
    3配置<intent-filter.../>元素指定它可被哪些intent启动
  • 从Context中派生出来的
  • 生命周期
    1 onCreate():
    2 onDestroy()
    3 onStratCommand()
    4 onUnbind()
    5 Binder onBind(Intent intent)
  • service的两种启动方式
    1
    2
  • service的关闭方式
    1
    2
    3 被自己
  • Service的生命周期
    根据service的启动方式的不同,service的生命周期也不一样
1 startService():非绑定service的生命周期:onCreate------>onStartCommant()---->onDestroy()
2 bindService():绑定service的生命周期:onCreate-->onBind()-->onUnbind()-->onDestroy() 
3 特殊的:当a应用程序用startService()的方法启动service,这时候b应用程序又用bindService()来启动Service,b又调用unbindService()方法,之后b又调用bindService(),这个过程的生命周期为:
onCreate()-->onStartCommand()-->onBind()-->onUnbind()(重写该方法时返回true)-->onRebind()
  • 如果希望onRebind()方法被调用,1 用startService()方法开启service,2 onUnbind()方法返回true
  • 通过上面第三种特殊情况分析,service没有调用onDestroy()的生命周期,这是因为service不是由bindService()方法来启动的,所以调用unBindService()方法并不会关闭service,也就是service不会终止。所以当bindService()绑定到一个已经启动的service上时,service只是把IBind对象传给Activity,并不会把生命周期绑到activity上
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值