Binder-從Java層說起
阿新 • • 發佈:2017-07-07
blog parcel spa 交互 關於 images nag regexp com
Java層的binder是對C++層的Native Binder的封裝,提供給其他Java code方便使用;關於與Native Binder的監聽與交互,是交給Java Binder的jni部分完成的
這裏涉及的code如下
framework/base/core/java/android/os/
- IInterface.java
- IBinder.java
- Parcel.java
- IServiceManager.java
- ServiceManager.java
- ServiceManagerNative.java
- Binder.java
framework/base/core/jni/
- android_os_Parcel.cpp
- AndroidRuntime.cpp
- android_util_Binder.cpp (核心類)
總體的架構圖如下
整個Binder流程裏涉及到的類如下
先看Java層的code
其中IBinder是用來做通信的接口,IInterface是程序直接邏輯方法的接口
各個類之間的關系如下圖
Binder-從Java層說起