关闭

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

标签: 欢迎使用CSDN-markdown编辑器
405人阅读 评论(0) 收藏 举报

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数据传递到组件中使用
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:36691次
    • 积分:786
    • 等级:
    • 排名:千里之外
    • 原创:41篇
    • 转载:4篇
    • 译文:0篇
    • 评论:0条