Android Binder學習趣事

2021-09-23 19:52:13 字數 779 閱讀 4439

看android原始碼無論如何繞不開binder,因此我一直對binder的實現機制有濃厚的興趣。無奈本人功力不夠,所以對此一直沒有清晰的認識。看了網上一些分析binder的文章,基本都是原始碼分析,我覺得對於binder這樣一種比較複雜的框架,最好不要一開始就進入到原始碼這麼細節的層面,很容易找不到北。我覺得應該先撇開**,有原理性的介紹,再根據個人需要深入**去分析。因為沒有找到合適的文章,所以我就想自己來**,自己來寫,我主要想解決以下幾個問題:

binder的歷史?

binder和linux原有的ipc有什麼區別,為什麼一定要用binder?

binder整體的設計是怎樣的?

binder的跨程序資料傳輸是怎麼實現的?

但是,正當我準備自己動手**時,卻找到一篇很不錯的文章android binder design and implementation design,一下子把我的問題都回答了,開心,又有點失落。這真是一篇高質量的文章,我想我可以把它翻譯成中文,跟大家分享。然而緊接著在裡面乙個例子中看到"zhang san"。心裡驚呼「難道原文是中文?」。還真找到了,原文在csdn上android bander設計與實現 - 設計篇。這下只有為國人感到自豪了。這篇文章清晰地闡述了binder的設計實現機制,清晰易懂。

整體的設計已經了然於胸,就可以自己去看**,親自觸控裡面的實現細節。網上有不少原始碼分析的文章,最有名的要數老羅的。但是我覺得原始碼就像乙個豐富的寶庫,原始碼分析應該是帶著問題,有目的地去分析,不然只會被別人牽著鼻子走,或者迷失其中。就像老羅在系統地分析android原始碼前也是看了很多書(見那兩年煉就的android內功修養)。

Android Binder學習資料整理

1.binder相關資料結構 2.android深入淺出之binder機制 binder使用流程 3.android binder設計與實現 設計篇 原理 4.android程序間通訊 ipc 機制binder簡要介紹和學習計畫 1.service manager是如何成為乙個守護程序的?即serv...

android binder機制詳解

1.直觀來說,binder是android中的乙個類,它繼承了ibinder介面 2.從ipc角度來說,binder是android中的一種跨程序通訊方式,binder還可以理解為一種虛擬的物理裝置,它的裝置驅動是 dev binder,該通訊方式在linux中沒有 3.從android frame...

android binder機制簡單使用

需求 最近公司需要在native層寫乙個c 服務,用來與上層通訊,由於自己並不是很精通c 所以決定從簡單的入手,先嘗試寫乙個binder服務。具體實現 實現乙個binder通訊例項,需要經過以下步驟 1 獲得servicemanager的物件引用 2 向servicemanager註冊新的servi...