日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

【Android Binder 系统】一、Binder 系统核心 ( IPC 进程间通信 | RPC 远程调用 )

發布時間:2025/6/17 Android 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android Binder 系统】一、Binder 系统核心 ( IPC 进程间通信 | RPC 远程调用 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、Binder 系統兩個核心
  • 二、IPC 進程間通信
  • 三、RPC 遠程過程調用





一、Binder 系統兩個核心



Binder 系統 最重要的兩個核心是 IPCRPC ;

IPC ( Inter-Process Communication ) 進程間通信 : 數據在 不同的進程 之間傳遞 ; 如 : 進程 A 發送數據到進程 B ;

RPC ( Remote Procedure Call ) 遠程過程調用 : A 進程通過 IPC 發送數據到 B 進程 , B 進程調用自己本地的相關邏輯 , A 進程通過 RPC 調用了 B 進程的代碼 ;


RPC 是在 IPC 基礎上進行的封裝 , IPC 負責數據的跨進程傳輸 ;





二、IPC 進程間通信



數據傳輸需要由 333 個要素組成 , 數據源 ( 進程 A ) , 目的地 ( 進程 B ) , 數據 ;


IPC 目的端進程標識 : 那么如果要實現 IPC 跨進程通信 , 源端 進程 A 如何 標識 目的端 進程 B , 進程 A 應該向哪個進程發送數據 , 如何進行標識 ;

服務注冊與查詢 : 進程 B 向 ServiceManager 注冊服務 , 進程 A 從 ServiceManager 查詢進程 B 注冊的服務 , 得到一個 Handle , 該 Handle 指向進程 B ;


在 Android 系統中 , 進程 A 就是 Client 客戶端 , 進程 B 就是 Server 服務端 ,

Client 客戶端 如何 標記 Server 服務端 , 這里引入 ServiceManager , 這三者之間的通信 , 通過 Binder 驅動 實現 ;

如下圖所示 :





三、RPC 遠程過程調用



RPC ( Remote Procedure Call ) 遠程過程調用 可以理解為 調用其它某個進程的函數 ;


RPC 涉及到的函數相關問題 : 這里有涉及到識別問題 , 如何 標識 遠程調用目的進程的某個 函數 , 給函數傳遞哪些 參數 , 該函數如何返回 返回值 ;

標識函數 : 需要 Client 客戶端 向 Server 服務端 發送要調用的 函數的編號 ;

傳遞參數 : 遠程過程調用 的參數放在 IPC 數據中的緩沖區 中 ;

返回返回值 : 函數執行完畢后 , Server 服務端需要將返回值通過 IPC 發送給 Client 客戶端 , 該返回值也是存放在 IPC 數據緩沖區 中傳遞回去 ;

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的【Android Binder 系统】一、Binder 系统核心 ( IPC 进程间通信 | RPC 远程调用 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。