MethodChannel

124 阅读1分钟

MethodChannel 框架

MethodChannel.jpg

MethodChannel 分析

  1. Flutter 调用原生, 调用的方法名和参数转成二进制, 通过_DefaultBinaryenger 发送给原生

  2. 原生调用Flutter, 同样方法名和参数转成二进制, 通过_DefaultBinaryenger.handlePlatformMessage 接收

  3. methodchannel 基于消息模型, 通过将消息序列号和反序列化来完成通信, 也就是将消息从dart类型转换成平台特定类型.

MethodChannel 总结

  1. flutter 与 原生(web 安卓 ios) 交互语言不通, 如同鸡对鸭讲. 因此需要一个媒介, 即C++ .
  2. C++属于底层一些的语言, 高级语言都是在C或者C++ 基础上开发出来的, 因此都兼容C++
  3. 把Flutter或者原生的语言都转成C++进行处理(调用)
  4. C++ 即能呼唤flutter也能调用原生, 因此完成相互通信