在Android的底層有個Binder 機制,是Android的核心機制。它負責繫結(Bind)各式各樣的核心服務(Core-Service),就像硬體的主機板,除了匯集各種服務(如IC)之外,還有復能串接並進行跨進程(IPC)的遠距溝通。這個機制配上Binder等抽象類別,就融入於Android應用框架裡,它能為Android上的千千萬萬應用程式提供遠距溝通的管理及服務。
Android底層就像一棵樹,由很多樹葉(即Service)所組成,除了眾多服務(即樹葉)之外,還有兩個重要的組件,就是:ServiceManager和Binder Kernel Driver(簡稱Binder Kernel或Binder Driver)。其中,Binder Driver提供許多介面(如IServiceManager)給各服務使用,它即扮演著主機板的角色,如下圖:
圖3、 Android Binder機制裡的服務
雖然Service Manager用來協調與控制其他系統(如A、P、….等系統),但就Binder Kernel(即主機板)而言,Service Manager也是一個IC(即Service),只是其角色和任務較特殊而已(即扮演CPU角色)。