当前位置: 首页 > 知识库问答 >
问题:

flutter是通过什么原理和原生进行交互的?

朱毅
2023-06-01

flutter是通过什么原理和原生进行交互的?

共有1个答案

丌官嘉良
2023-06-01

Flutter 与原生交互最核心的就是通过 MethodChannel 方式进行交互、传值、调用。

看下官方的原理图:

image.png

所以 Android 和 iOS 都是通过 MethodChannel 方式进行交互、传值、调用。其他平台原理一样,Flutter 的插件库其实就是 Flutter 与原生的交互实现的。

可以把 Flutter 看成是客户端,对应的 Android 和 iOS 平台看成是服务器端。双方是通过消息发送来交互通信的,Android 和 iOS 通过 MethodChannel 发送消息给 Flutter 客户端;Flutter 通过 MethodChannel 发送数据、消息给 Android 平台,通过 FlutterMethodChannel 发送数据、消息给 iOS 平台。这样就达到了双向交互通信。

 类似资料:
  • 主要内容:什么是云原生,云原生的4大组件,如何云原生什么是云原生 技术的变革,一定是思想先行,云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生(CloudNative)是一个组合词,Cloud+Native。Cloud表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。Pivotal公司的Matt Stine

  • 本文向大家介绍overflow的原理是什么?相关面试题,主要包含被问及overflow的原理是什么?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 要讲清楚这个解决方案的原理,首先需要了解块格式化上下文,A block formatting context is a part of a visual CSS rendering of a Web page. It is the region

  • (1)可重入性 synchronized的锁对象中有一个计数器(recursions变量)会记录线程获得几次锁; 可重入的好处: 可以避免死锁; 可以让我们更好的封装代码; synchronized是可重入锁,每部锁对象会有一个计数器记录线程获取几次锁,在执行完同步代码块时,计数器的数量会-1,直到计数器的数量为0,就释放这个锁。 (2)不可中断性 一个线程获得锁后,另一个线程想要获得锁,必须处于

  • 本文向大家介绍什么是batch normalization,原理是什么?相关面试题,主要包含被问及什么是batch normalization,原理是什么?时的应答技巧和注意事项,需要的朋友参考一下 Batch Normalization就是在训练过程,每一层输入加一个标准化处理。 深度神经网络之所以复杂有一个原因就是由于在训练的过程中上一层参数的更新使得每一层的输入一直在改变。所以有个办法就是去

  • Windows(Win32 API)和OS X(Cocoa)都有自己的API来处理Windows、事件和其他OS东西。对于Linux的等价物是什么,我从来没有真正得到一个明确的答案? 我听过一些人说GTK+,但是GTK+是跨平台的。怎么可能是本土的?