flutter windows工程创建可参考官网文档。
- VS版本支持从Visual Studio 2019开始
- Flutter SDK下载后,需配置环境。命令行执行 flutter config --enable-windows-desktop
多窗口支持
- 新建HelloWindow继承FlutterWindow,在FlutterWindow中创建HelloWindow即可
- 新窗口如何指定flutter初始页?
- 在win32侧,通过DartProject.set_dart_entrypoint_arguments设置flutter的main函数参数
- 在flutter侧,修改main函数为void main(List<String> args),通过参数来决定MyApp的home页
- 多窗口的问题,每个窗口都会创建新的FlutterEngine,导致内存增长非常大(约60M)。
- 可尝试复用FlutterEngine。自定义FlutterEngine和FlutterViewController
MethodChannel,用于win32与flutter的通信
- 发送请求时,先将数据编码成utf8字节流,收到后再解码成unicode,避免中文乱码
- 页面路由,将method拆分为"page/func",与win32做好<页面,功能>映射
- 可以有多个MethodChannel,针对不同功能新建不同Channel