Saturday, April 14, 2012

Binder & ServiceManager & Service

http://huenlil.pixnet.net/blog/post/23861382-%5B%E8%BD%89%5Dandroid%E7%9A%84binder%E6%A9%9F%E5%88%B6

Step-1. 手機啟動時,ServiceManager先向Binder Driver登記(就像將CPU插到MB一樣)。
Step-2. Binder Driver將它(即ServiceManager)視為第0個服務,於是誕生一個服務Handle #0 來對應到它。
Step-3. Service A向Binder Driver取得Handle #0的介面:IServiceManager。
Step-4. Service A呼叫IServiceManager介面的addService(),將自己登錄進去。 此時,Binder Driver會誕生一個新Handle #1來對應它;並且告知ServiceManager。
Step-5. Service P呼叫IServiceManager介面的getService()函數,要求連結(Connect or Bind)到特定的Service。 此時,ServiceManager就將Handle #1傳給Service P,如下:
Step-6. 於是,Service P與Service A就連結起來了。

No comments:

Related Posts Plugin for WordPress, Blogger...