美文网首页FlutterFlutter系列教程
针对iOS编译Flutter引擎

针对iOS编译Flutter引擎

作者: 嗨哒哥 | 来源:发表于2020-03-26 21:22 被阅读0次

    针对iOS编译Flutter引擎

    现有iOS项目中以module的方式接入Flutter,并且从原生页面跳转进Flutter的时候,会发现内存飙升,并且在退出FlutterViewController之后,内存并没有销毁;就会导致原本手机内存就吃紧的情况下,造成app的闪退。

    虽然可以通过单引擎单FlutterViewController的方式来抵消部分内存消耗,但是使用单引擎单FlutterViewController来跳转Flutter制定页面的时候就显得不方便,并且FlutterViewController的setInitialRoute方法会失效,导致使用setInitialRoute来跳转指定Widget页面的时候,window.defaultRouteName收到的总是“/”,得不到设定的数据。

    之所以使用单引擎单FlutterViewController的方式会出现这种问题,是因为FlutterEngin在启动的时候就默认加载了Widget,导致设置setInitialRoute的时候不生效。

    为了探究这个问题,就需要拿到flutter有关engin的源码,看了源码后,自然就会有修改源码的冲动;修改后如何进行编译呢?

    有关如何进行编译Flutter.framework,可以参考针对iOS在Mac平台上编译Flutter引擎

    后续有空将会说明,FlutterViewController、FlutterEngin、FlutterMethodChannel、FlutterEventChannel以及Flutter的集中decodec存在关系。

    相关文章

      网友评论

        本文标题:针对iOS编译Flutter引擎

        本文链接:https://www.haomeiwen.com/subject/loktuhtx.html