Flutter开发之——Flutter与原生三种通信方式

一 概述

Flutter与Native原生端通信有三种方法:

  • MethodChannel
  • BasicMessageChannel
  • EventChannel

二 三种通信方式介绍

2.1 MethodChannel

  • Flutter与Native端相互调用,调用后返回结果
  • 可以Native端主动调用,也可以Flutter主动调用,属于双向通信
  • 此种方式最为常见,Native端调用需要在主线程中执行

2.2 BasicMessageChannel

  • 用于使用指定的编解码器对消息进行编码和解码
  • 属于双向通信,可以以Native端主动调用,也可以Flutter主动调用

2.3 EventChannel

  • 用于数据流(event stream)的通信,Native端主动发送数据给Flutter
  • 通常用于状态端监听,比如网络变化、传感器数据等

三 通信架构图

此图为官方的架构图