FlutterBoost的原理可以分为两个主要方面: 1. FlutterBoost的初始化 FlutterBoost的初始化包括两个主要部分:FlutterBoost作为Flutter插件的注册和FlutterBoost作为Native插件的注册。 当FlutterBoost被作为Flutter插件初始化时,它会设置FlutterBoost的一些配置参数,如路由表和默认的启动页面等。同时,FlutterBoost还会创建Flutter...
Native boost 启动时会触发dart main(), 执行 FlutterBoostApp 构建时会传入appBuilder 和routeFactory, routeFactory 是需要跳转的flutter 页面信息,通过此配置判断页面是否为flutter页面,FlutterBoostApp 构建会初始化页面管理,routerAPI, 拦截器,message 注册等 FlutterBoostApp(routeFactory,appBuilder:appBuilder,initialRou...
当Flutter 页面需要返回数据给 Native 页面或者关闭时,我们可以使用 FlutterBoost 提供的 API 来实现。例如,可以使用 FlutterBoost.singleInstance.pop() 方法来关闭 Flutter 页面并返回数据。 四、总结 通过以上解析和实战应用展示,我们可以看出 FlutterBoost 3.0 是一款功能强大、易于上手的 Flutter 混合开发框架。它通过...
Flutter Boost 是闲鱼团队开源的 Flutter 混合框架,成熟稳定,业内影响力高,在导航栈的处理思路上没有绕开我们在 3.2 节中谈及的混合栈原理,但需要注意的是,当 Flutter 跳转 Flutter 时,它采用的是 new 一个新的 FlutterViewController 后使用原生导航栈跳转的方式,如下图所示: 这么做的好处是使用者(业务开发者)...
这样就通过改变_onstage和_offstage来实现页面的切换,所以flutter-boost本质上是用一个页面切换不同的内容,而所有页面都公用一个flutter engine(都是进一个页面,所以initialRoute固定),这样除了第一次打开,后面再次打开就会很快,实现的启动加速。 这样我们就大致的了解了flutter-boost的启动原理,当然flutter-boost还有...
FlutterBoost原理解析 一、push原理 流程图 image.png 核心代码 Future<T>push<TextendsObject?>(String name,{Map<String,dynamic>?arguments,bool withContainer=false,bool opaque=true})async{varpushOption=BoostInterceptorOption(name,arguments:arguments??<String,dynamic>{});varfuture=Future<dynamic>(()=>...
The many functions an apis, let's just run the example_new and have look at it, below is the widget tree, when push flutter with container it will increase a new `BoostContainerWidget`, otherwise the pages will be add to the same `BoostContainerWidget` ...
然后再次gradle sync,在进行make,即可成功改造项目: 改造完成 五、总结 flutter_boost的原理是通过在native层构建一个容器,将flutter的widget作为native中容器的一个页面进行显示,下一次我们一起来学习flutter和native页面的相互跳转。
为了理解FlutterBoost的内部工作原理,我们可以看看其主要的类图: opensusesFlutterBoostFlutterPage+build(context: Context)MainActivity+onCreate(savedInstanceState: Bundle) 在这个类图中,我们可以看到FlutterBoost的主要功能是打开Flutter页面和初始化Flutter环境,而MainActivity则是调用FlutterBoost的地方。