




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
21.认识软硬整合设计样式认识软硬整合设计样式-以Android的Binder机制为例By高焕堂一、简介Android的Binder机制Android的Binder机制是Android应用框架(ApplicationFramework)里的重要机制。此机制用来系结(Bind)不同的Service,并进行跨进程(IPC)的远距沟通。这个机制(Mechanism)配上Binder.java等抽象类别,就融入于Android应用框架里,为Android上的千千万万应用程序提供远距沟通的管理及服务。本文将从高焕堂的MB样式和CPU样式来认识Android这个重要机制。一方面,从样式看出Android机制的特性;另一方面,藉由Android实际情境深刻体会MB与CPU样式的真谛,将来就可以将这两个样式应用于自己开发的应用框架或其它设计上。二、高焕堂的软硬整合设计样式(Pattern)于2007年4月12日,我在北京.中关村进行专题演讲时,提出十个主要的软硬整合设计样式(可以到网站下载笔者于北京中关村的演讲稿和录音档案。讲题是:如何提升软件设计力)。其中的第7和第8个样式为:7:MBpatternIntent:降低adapter间之相依姓。Force1:系统经常需要与其它系统沟通。Force2:adapter是壁虎的尾巴,会随system而PnP。Force3:在PnP掉adapter时,经常牵动多个其它adapter。Solution:设计adapter的共同adapter。Consequences:此共同adapter就是一个软件主机板(softwareMB),而小adapter就成为它的端口(port)。图1软件主机板(softwareMB)是整合核心8:CPUpatternIntent:统一管理整合性的法则(rule)。Force1:各系统经常需要提供整体性的数据给它的使用者(user),其整合性之法则常分散于各系统里。Force2:为了维持整体和谐,需要对整合性法则进行统一管理。Solution:设计一个系统,它代表整体(whole)而负责协调其它系统,确保完整性和实时性。Consequences:此系统就是一个softwareCPU,成为整体的决策中心,它也很容易PnP它来面对法则的迅速变化。图2软件CPU是决策核心虽然CPU用来协调与控制其它系统(如A、P、.等系统),但就MB而言,CPU也是一个System,只是其角色和任务较特殊而已。三、藉由上述样式来理解Binder机制在Binder机制里,除了众多Service之外,还有两个重要的组件,就是:ServiceManager和BinderKernelDriver(简称BinderKernel)。其中,BinderKernel提供许多界面(如IServiceManager)给各Service使用,它扮演着MB的角色。而ServiceManager扮演CPU角色。虽然ServiceManager用来协调与控制其它服务(如A、P、.等服务),但就BinderDriver而言,ServiceManager也是一个Service,只是其角色和任务较特殊而已。四、AndroidsBinder机制的运作逻辑Step-1.手机启动时,ServiceManager先向BinderDriver登记(就像将CPU插到MB一样)。Step-2.BinderDriver将它(即ServiceManager)视为第0个服务,于是诞生一个服务Handle#0来对应到它。图3Step-3.ServiceA向BinderDriver取得Handle#0的界面:IServiceManager。图4Step-4.ServiceA呼叫IServiceManager接口的addService(),将自己登录进去。此时,BinderDriver会诞生一个新Handle#1来对应它;并且告知ServiceManager。图5Step-5.ServiceP呼叫IServiceManager接口的getService()函数,要求连结(ConnectorBind)到特定的Service。此时,ServiceManager就将Handle#1传给ServiceP,如下:图6Step-6.于是,ServiceP与ServiceA就连结起来了。五、结语上述的BinderDriver是整合核心,相当于主机板(MB),合乎MB样式之本意。而ServiceManager是决策核心,相当于CPU,合乎CPU样式之本意。如此,至少有两
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纺织行业投资趋势试题及答案
- 幼儿园母亲节活动主题
- 医学合同协议书
- 解密2024年助理广告师考试试题及答案
- 职员合同协议书
- 设计实践中的团队协作能力试题及答案
- 合同履行协议书
- 瓜苗购销合同协议书
- 合同演出协议书
- 合同协议书转让
- 第15课《青春之光》课件-2024-2025学年统编版语文七年级下册
- 《十万个为什么》整本书阅读-课件-四年级下册语文(统编版)
- 口腔与健康智慧树知到答案章节测试2023年温州医科大学
- 关节镜技术在骨科的应用
- DB32-T 3916-2020建筑地基基础检测规程-(高清现行)
- 2022年执业医师证件租赁协议书
- 太上三官宝经(共12页)
- Q∕GDW 11445-2015 国家电网公司管理信息系统安全基线要求
- java考试管理系统源代码开题报告外文翻译英文文献计001
- 人教版九年级历史中考【政治经济专题复习课件44张】(共44张)
- T∕CSEA 6-2018 锌镍合金电镀技术条件
评论
0/150
提交评论