移动 前端 Python Android Java

Flutter的PlatformChannel原理

2018-09-04  本文已影响210人  人生看淡不服就干

Flutter通过自绘UI界面实现跨平台开发,它的UI框架使用Dart编写(类似JS),这就涉及到与native的相互调用。Flutter提供了PlatformChannel的模块,可以方便地向native发送消息(反向也可以)。 这里重点说一下它的原理。

Dart调用C++的能力

原理与JNI类似,可以叫做Natvie Bindding,支持两种调用方式:

详细使用指南

PlatformChannel的原理

结论

官方文档说,通过平台通道的调用是异步的,这里感觉不是利用了NativeBinding的异步调用,而是在Native侧通过跨Runner传递消息实现的。

上一篇 下一篇

猜你喜欢

热点阅读