Flutter Multiple Windows

flutter windows工程创建可参考官网文档。

  1. VS版本支持从Visual Studio 2019开始
  2. Flutter SDK下载后,需配置环境。命令行执行 flutter config --enable-windows-desktop

多窗口支持

  1. 新建HelloWindow继承FlutterWindow,在FlutterWindow中创建HelloWindow即可
  2. 新窗口如何指定flutter初始页?
  • 在win32侧,通过DartProject.set_dart_entrypoint_arguments设置flutter的main函数参数
  • 在flutter侧,修改main函数为void main(List<String> args),通过参数来决定MyApp的home页
  1. 多窗口的问题,每个窗口都会创建新的FlutterEngine,导致内存增长非常大(约60M)。
  • 可尝试复用FlutterEngine。自定义FlutterEngine和FlutterViewController

MethodChannel,用于win32与flutter的通信

  1. 发送请求时,先将数据编码成utf8字节流,收到后再解码成unicode,避免中文乱码
  2. 页面路由,将method拆分为"page/func",与win32做好<页面,功能>映射
  3. 可以有多个MethodChannel,针对不同功能新建不同Channel
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容