Binder池淺談分析

utf發表於2018-01-04

使用場景:客戶端使用多個AIDL進行向服務段跨程式通訊的時候,為了減少生成的Service物件佔用系統資源,使用一個Service管理多個AIDL。

本程式碼例項是參考任玉剛的藝術探索書裡例項,實踐分析:

客戶端

  1. 建立ICompute,IsecurityCenterAIDL介面物件,其介面對應的自定義方法

    Binder池淺談分析
    Binder池淺談分析

  2. 建立IBinderPool AIDL介面物件,介面自定義方法:

Binder池淺談分析

  1. 建立ICompute的binder實體類,IsecurityCenter的binder實體類,在客戶端起的作用僅僅是為了根據binder找到AIDL介面物件,在服務端的作用是處理客戶端傳過來的資料。

    Binder池淺談分析

  2. 建立BinderPool類,實現服務的繫結以及管理binder

Binder池淺談分析
Binder池淺談分析

  1. client的Activity的多程式通訊程式碼,通過binderCode獲得對應的binder,通過binder找到AIDL介面物件,呼叫介面方法和Service端通訊
    Binder池淺談分析

服務端

  1. 建立BinderPoolServer, 並且在manifest註冊該服務,繫結binder
    Binder池淺談分析

執行結果顯示*

Binder池淺談分析

相關文章