Flutter--原生工程添加flutter

原生项目,需要嵌入Flutter页面。

 创建flutter module

Flutter--原生工程添加flutter_第1张图片

使用xcode创建原生工程,和flutter module放到同一目录中

使用cocoapods引入flutter相关依赖,注意flutter_application_path是一个相对路径

Flutter--原生工程添加flutter_第2张图片

- 原生工程加载flutter页面

#import

FlutterViewController *flutterVC = [[FlutterViewController alloc] init];

[self presentViewController:flutterVC animated:YES completion:nil];


- 原生工程加载指定的flutter页面

Flutter--原生工程添加flutter_第3张图片


以上方法原生工程添加flutter页面,每次打开flutter页面,内存都会暴增,页面会有卡顿现象;所以,每次都初始化新的FlutterViewController并不稳妥,因此我们采用了FlutterEngine

Flutter--原生工程添加flutter_第4张图片
native
Flutter--原生工程添加flutter_第5张图片
native

flutter_module配置

Flutter--原生工程添加flutter_第6张图片
flutter_module
Flutter--原生工程添加flutter_第7张图片
flutter_module


Flutter原生通讯

FlutterMethodChannel  //调用方法(method invocation) 一次通讯的

以下两种都是持续通讯的!!

   FlutterBasicMessageChannel //传递字符&半结构化的信息(struct string等)

   FlutterEventChannel        //用于数据链(stream)的通讯

Flutter--原生工程添加flutter_第8张图片
原生工程
Flutter--原生工程添加flutter_第9张图片
flutter_module
Flutter--原生工程添加flutter_第10张图片
flutter_module

demo

你可能感兴趣的:(Flutter--原生工程添加flutter)