雪舞草狼

为梦想拼搏.用代码敲出最绚丽的世界

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数据传递到组件中使用
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012416955/article/details/51563831
上一篇Android开发笔记之SeekBar 时间的显示 快进快退 Mediaplayer
下一篇Android开发笔记之广播知识的回顾和总结以及使用
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭