![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
flutter
文章平均质量分 90
thunder_sz
这个作者很懒,什么都没留下…
展开
-
Flutter动态化 | Fair 2.6.0 新版本特性
Fair是为Flutter设计的动态化框架,通过FairCompiler工具对原生Dart源文件的自动转化,使项目获得动态更新WidgetTree和State的能力。创建Fair的目标是支持不发版(Android、iOS、Web)的情况下,通过业务bundle和JS下发实现更新,方式类似于ReactNative。与FlutterFair集成后,您可以快速发布新的页面,而无需等待应用的下一个发布日期。...转载 2022-07-29 14:33:54 · 539 阅读 · 1 评论 -
Flutter混合开发框架(二)——FlutterEngineGroup使用及原理分析
前序要解决的问题以及现在的常用解决方案就不再详细叙述,主要就是要做混合开发这件事。背景FlutterEngineGroup是由官方推出的Flutter+Native混合开发解决方案,与FlutterBoost不同的是,使用的是多引擎的处理方式,并优化了每个引擎的大小以及数据处理方式,让大部分数据实现共享,只有部分生命周期等内容做了隔离。实现方式相较于单Engine形式,多Engine无需关心页面栈等问题,但新增了一个问题,就是多Engine中的数据共享。多Engine的方式,如果我们自己设计,那原创 2021-08-18 14:17:34 · 6104 阅读 · 3 评论 -
Flutter混合开发框架(一)——Flutter Boost分析
要解决的问题实现Native和Flutter的混合开发,降低native工程接入Flutter的成本。背景Flutter 2.0之前官方没有提供Native+Flutter的混合开发解决方案,开发者有两种实现方式。1、单Engine模式也就是共享Engine的实现方式,当Native启动Activity或者Controller甚至是Fragment时,都将相同的Engine与对应的控制器进行绑定。2、多Engine模式每开启一个页面都启动一个Flutter Engine,是用多Engine配合原创 2021-07-29 18:01:42 · 1843 阅读 · 0 评论 -
Flutter 状态管理(二)——fish redux源码解析及思考
简介之前我们横向比较了 fish redux、flutter redux以及provider的用法。本文主要以fish redux为例介绍一下其更新机制,以及设计思想。提出问题1、fish redux的更新和setState是否有关系?2、setState到底是全局更新还是局部更新?3、effect 和 reducer 到底有何区别,谁先执行?设计方案介绍首先,我们已知fish redux的用法,关键的对象为effect、reducer、component、connector、page、ada原创 2021-04-08 16:29:40 · 765 阅读 · 1 评论 -
Flutter web嵌入原有js获取不到节点问题
Flutter web 与原js结合起因由于Flutter最近很火,团队在做flutter-dart的全平台尝试。对于Web这块,由于我们本身有很多react组件的积累,所以想在flutter web上直接使用原有的JS。一开始,因为flutter web的语法可以直接和js语法对标,所以感觉不是什么困难的事情。但是最终发现了有个1.20.4版本flutter,暂时还无法逾越的坑。shadow dom简单说,flutter 在创建web的platform view时,会在node前添加# sh原创 2020-12-20 01:08:02 · 645 阅读 · 1 评论 -
flutter web 启动失败报链接Chrome失败
问题:Failed to establish connection with the application instance in Chrome.This can happen if the websocket connection used by the web tooling is unable to correctly establish a connection, forexample due to a firewall.解决方案:配置本地localhost 127.0...原创 2020-12-17 11:01:32 · 2478 阅读 · 1 评论 -
Flutter开发导致mac磁盘存储暴涨问题
现象正常开发,未开启iOS虚拟机,观察磁盘管理工具,发现磁盘存储疯狂减少,最终导致存储完全被占满。重启后发现垃圾箱里面多了个一个文件夹,并且这个文件夹有100G。文件夹中主要文件为:dyld_shared_cache_arm64这样的文件。解决方案官方给出的解决方案是升级到1.17.4以上版本这是官方的ISSUE:https://github.com/flutter/flutter/issues/56826亲测有效。...原创 2020-12-03 10:57:37 · 618 阅读 · 0 评论 -
Flutter状态管理(一)——框架对比及选择
Flutter状态框架对比及选择(一)简介随着业务需求的持续迭代,对于状态的管理就显得尤为重要,数据导向的页面更新是极有效的方式,但是业务越来越多就会导致各个module之间的依赖会越来越多。这张图就反应了,当页面复杂时,如果全是有中央集权的状态控制就会显得杂乱无章,特别在定位问题时就会很头疼,还有一个很重要的原因是因为flutter在调试时报错会从runApp开始报,如果没有状态管理器输出对应的错误,很难定位是哪个数据问题造成的。本次我们主要针对Flutter-Redux和Fish-Redux的原创 2020-11-12 17:59:08 · 974 阅读 · 0 评论 -
Fish Redux同时更新adapter的多个相同type的item时失败
如果有一个Action想更新两个item,发现不会进行更新了造成原因:AdapterSource copy; for (int i = 0; i < state.itemCount; i++) { final AbstractLogic<Object> result = pool[state.getItemType(i)]; if (result != null) { final Object oldData = state.getIte原创 2020-09-07 21:30:48 · 504 阅读 · 1 评论 -
Flutter No implementation found for method xxx on channel
问题原因很明显就是依赖没有,但是不是flutter的依赖,是Android native缺少这个方法。如果你不是直接在flutter工程生成的Android工程,或者是由其他方式使用flutter依赖时,当flutter工程引入部分带有native插件的第三方库时,就不会主动打到对应的Android工程中,引起改错误。解决方案方案一、将navtive插件当依赖引入到Android 工程,例如://magpie Android SDK debugdebugApi 'com.wuba.magpie:原创 2020-08-05 11:28:49 · 3522 阅读 · 0 评论