Android Service 之三(Bind Service)

来源:未知 责任编辑:智问网络 发表时间:2013-11-04 19:43 点击:

 

之前提及过,启动Service有两种方式:startService 与bindService。前者已经说过如何使用,所以,这篇贴子主要是关于bind service的。 这里所讨论的是仅针对那些被绑定的service的,而那些既被startService() 又被bindService() 的service 不在此范围内。

①Bind Service就像是C/S架构中的服务端,其他组件(比如Activity)绑定到它(通过bindService()),可以向它发送请求,可以接受从它返回的响应,它甚至还提供了进程间通信(IPC)功能。

② 一个service要想能够被其他组件绑定,那么它的onBind() 方法必须被实现,且必须返回一个IBinder 对象,然后其他组件可以通过这个IBinder 对象与该service 进行通讯。

③ 多个client可以绑定至同一个service,但该service 的onBind() 方法只会在第一个client 绑定至其的时候被调用,当其他client 再次绑定到它的时候,并不会调用  onBind() 方法,而是直接返回第一次被调用时产生的那个IBinder 对象。也就是说,在其生命周期内,onBind() 只会被调用一次。

④Bind Service 的生命周期如下图所示:

 

 

⑤Bind Service 不会在后台无限期的一直运行,而是当所有绑定至其的组件都调用了unbindService() 进行解绑之后,系统就会将其停掉以回收资源。

 

⑥ 当我们要实现一个Bind Service 的时候,最重要的就是实现它的onBind() 方法以返回一个IBinder 对象

待会继续更新

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Android 完全退出程序
    • 原创:Android应用开发-Andorid歌词秀,含源码
    • android 屏幕保护
    • Android手机软件汉化教程---第四课 dex文件汉化
    • 众多Android 开源项目推荐,给力工作给力学习
    • Android Audio代码分析4
    • Android得到已安装的应用程序信息!
    • Android开发者指南(29) —— USB Host and Accessory
    • Android成长的幕后推手:工程师鲁宾
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1