Android Framework Input 机制分析



App进程的Java层的ViewRoot对象,请求与底层建立通信,通过Binder机制调用WindowManagerService | 进而转入到服务进程Java层,由服务进程的Java层通过JNI层层调用,至Native层 InputTransport ,由此创建一对UNIX_AF socket ,将socket的描述符存入C++ InputChannel对象,用于事件传递。之后JNI层层返回,将C++ InputChannel对象转换为Java InputChannel对象,此后WindowManagerService 通过binder机制 将Java InputChannel对象 返回给|  App进程 Java层。其中Binder提供共享文件描述机制。就这样底层InputDispatcher publisher和cosumer 顶层 App 通过的InputChannel UNIX_AF socket进行通信。



你可能感兴趣的:(Java,Android,C/C++)