Android开发笔记之Service知识的回顾和总结以及常见的启动方式和生命周期

service讲解

是一个没有界面的活动,但是和activity差不多

  1. service是一个抽象类
  2. onBind是必须要实现的方法,该方法返回一个Ibander类型,是activity和service交互的同道

Service的两种启动方式
1.startservice使用这种方式启动的service跟启动这个service的组件没有直接联系,互相不影响各自的生命周期
2.stopService 关闭使用startservice方式开启的服务
3 第二中启动方式
采用bindService使用绑定的方式启动,让组件和service进行一个关联,service的生命周期会跟随启动它的组件的生命周期结束而结束,但是启动它的组件的声明跟这个service没关系
onBindService
解除绑定service在解除使用绑定方式启动的service后,会被销毁

service的生命周期

  • 1.通过startservice和stopservice执行的生命周期
  • 2.通过bindService启动service再去调用unbindService
  • onCreeate—onBind—-unOnBind—–onDestroy
  • 3.先启动,在绑定,在解绑,在停止
  • onCreate–onStartCommand–onBind–onUnBind–onDestory
  • 4先绑定,再启动,解绑,停止.
  • onCreate–onBind–onStartCommand–onUnBind–onDestory

    通过绑定的方式,组件和service通信的流程

  • 1.创建一个ServiceConnection

  • 2.bindService方法,让组件和service进行绑定
  • 3.在service中创建一个内部类继承Binder
  • 因为onBinder方法返回的类型是一个Ibinder
  • 4.在Binder内部类中可以调\用service的方法和变量
  • 5.service的onbind方法返回这个Binder对象
  • 6.在绑定这个service的组件中serviceConnection里面有一个onServiceConnection的回调方法中可以拿到service传递过来的对象
  • 7.在activity中定义一个Binder对象来接收传递过来的对向
  • 从而实现service数据传递到组件中使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值