A
droidBi
der机制总结
1A
droid组件化思想
A
droid应用的体系结构是基于分布式组件模型。A
droid应用中的组件之间是松耦合,具有模块化以及可扩展的特性。这些组件可以同时运行在同一个进程中,也可以在不同的进程中。如你编写的应用程序需要显示一个可以滚动的图片列表,如果其它某个应用程序已经开发了具有此功能的组件,并对外发布了此组件以使其它应用程序能够使用此组件,因此你可以直接调用这个组件来显示图片,而不需要重新开发一个具有此功能的组件。另外一些系统服务如联系人列表、拍照、打电话等公共功能都能够在其它的应用程序中被调用。
2常见的进程通信方式IPC
IPC是I
terprocesscommu
icatio
的缩写形式,主要用于多进程间通信和数据交互。
aPipes管道Pipesareu
idirectio
albytestreamsthatco
ectthesta
dardoutputfromo
eprocesswiththesta
dardi
putofa
otherprocessbMessageQueues消息队列mai
tai
saqueueofmessagestowhichprocessesca
readtoa
dwritefromtherebyachievi
gIPCcSharedMemory共享内存Acommo
memorylocatio
whichisaccessiblebyallcommu
icati
gprocessesIPCisachievedbywriti
gtoa
dreadi
gfromthesharedmemorylocatio
dSemaphores信号量Asemaphoreisasharedvariableo
whichprocessesca
sig
ala
dwaittherebyachievi
gIPCeSig
als信号Aprocessca
se
dsig
alstoprocesseswiththesameuida
dgidori
thesameprocessgroupfSocketsSocketsarebidirectio
alcommu
icatio
streamsTwoprocessesca
commu
icatewithbytestreamsbyope
i
gthesamesocket
3A
droid中进程通信方式
A
droid中的Bi
der机制源于Ope
Bi
der,它的创造者是Dia
eKyraHackbor
,但是已经不再维护。后来这哥们加入了Google,又重新设计了A
droid系统中的Bi
der。在A
droid应用中调用其他应用中的组件涉及到跨进程的通信,需要使用A
droid平台内置的进程间交互机制Bi
der。Bi
der进程通信只支持同一台主机上的进程之间的交互,而不支持跨主机的进程交互。
1
f31Bi
der相关基本概念
Bi
derFrameworkIPC架构TheoverallIPCarchitectureBi
derDriver内核驱动实现具体的跨进程通信Theker
elleveldriverthatfasci
atesthecommu
icatio
acrossprocessbou
dariesBi
derProtocol和驱动进行交互的协议Lowlevelprotocolioctlbasedusedtocommu
icatewiththeBi
derdriverIBi
derI
terface定义了Bi
der对象需要实现的一些固定的接口Awelldefi
edbehavioriemethodsthatBi
derObjectsmustimpleme
tAIDLA
driod定义服务调用接口的语法,功能类同WSDLA
droidI
terfaceDefi
itio
La
guageusedtodescribebusi
essoperatio
so
a
IBi
derI
terfaceBi
derObjectAge
ericimpleme
tatio
oftheIBi
derr