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是程序直接逻辑方法的接口
各个类之间的关系如下图
时间: 2024-10-31 20:36:01