當前位置:編程學習大全網 - 網站源碼 - 為什麽 Android 要采用 Binder 作為 IPC 機制

為什麽 Android 要采用 Binder 作為 IPC 機制

1)從性能的角度

數據拷貝次數:Binder數據拷貝只需要壹次,而管道、消息隊列、Socket都需要2次,但***享內存方式壹次內存拷貝都不需要;從性能角度看,Binder性能僅次於***享內存。

(2)從穩定性的角度

Binder是基於C/S架構的,簡單解釋下C/S架構,是指客戶端(Client)和服務端(Server)組成的架構,Client端有什麽需求,直接發送給Server端去完成,架構清晰明朗,Server端與Client端相對獨立,穩定性較好;而***享內存實現方式復雜,沒有客戶與服務端之別, 需要充分考慮到訪問臨界資源的並發同步問題,否則可能會出現死鎖等問題;從這穩定性角度看,Binder架構優越於***享內存。

僅僅從以上兩點,各有優劣,還不足以支撐google去采用binder的IPC機制,那麽更重要的原因是:

(3)從安全的角度

傳統Linux IPC的接收方無法獲得對方進程可靠的UID/PID,從而無法鑒別對方身份;而Android作為壹個開放的開源體系,擁有非常多的開發平臺,App來源甚廣,因此手機的安全顯得額外重要;對於普通用戶,絕不希望從App商店下載偷窺隱射數據、後臺造成手機耗電等等問題,傳統Linux IPC無任何保護措施,完全由上層協議來確保。

  • 上一篇:我在壹家公司工作,幾乎每個人都在等待壹個好機會。哪壹個最好
  • 下一篇:matlab實現SIFT特征點檢測及配準
  • copyright 2024編程學習大全網