本文从源码角度剖析 RNA 中 Java Js 的通信机制(基于最新的 RNA Release 20)。 对于传统 JavaJs 通信而言,Js 调用 Java 通不外乎 Jsbridge、onprompt、log 及 addjavascriptinterface 四种方式,在 Java 调用 Js 只有 loadurl 及高版本才支持的 evaluateJavaScript 两种。但在 RN 中没有采用了传统 Java 与 Js 之间的通信机制,而是借助 MessageQueue 及模块配置表,将调用转化为 {moduleID, methodID,callbackID,args},处理端在模块配置表里查找注册的模块与方法并调用。