您的位置:首页 > 移动开发 > Android开发

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

2016-06-02 09:28 771 查看

service讲解

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

service是一个抽象类

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数据传递到组件中使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息