Android开发之service浅谈

来源:互联网 发布:新浪邮箱smtp端口号 编辑:程序博客网 时间:2024/04/27 23:18
一.何为service
     服务就是运行在后台的一段代码。它可以运行在自己的线程中,也可以运行在其他应用程序的上下文中,其他的组件可以绑定到一个服务上面,通过远程调运PRC来实现的(下面会详细说明),
二。如何使用服务    第一种是通过调用Context.startServece()启动,调用Context.stoptService()结束,startService()可以传递参数给Service。    第二种方式是通过调用Context.bindService()启动,调用Context.unbindService()结束,还可以通过ServiceConnection 访问Service。二者可以混合使用,比如说我可以先   startServece()再unbindService()。
Service的生命周期  startService()后,即使调用startService()的进程结束了,Service 仍然还存在,知道有进程调用stoptService(),或者Service 自己自杀(stopSelf())就没法了
 bindService()后,Service 就和调用bindService()的进程同生共死,也就是说当调用bindService()的进程死了,那么它bind 的Service 也要跟着被结束,当然期间也可以调用unbindService()让Service 结束 两种方式混合使用时,比如说你startService()了,我bindService()了,那么只有你stoptService()了而且我也unbindService()了,这个Service 才会被结束。
  下面来重点说一下service的远程调用
     Android平台中,各个组件运行在自己的进程中,它们之间是不能相互访问的,但是在程序之间不可避免避免的要传递一些对象,在进程之间相互通信。为实现进程之间的通信,Android采用了一种轻量级的实现方式PRC(Remote Procedure Call,远程进程调用)来实现进程之间的通信,并且Android通过接口定义语言(Android Interface Definition  Language AIDL)来生成两个进程之相互访问的代码
 
0 0
原创粉丝点击