博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  flutter

dart + flutter
摘要:热重载 热重载是指,在不中断 App 正常运行的情况下,动态注入修改后的代码片段。而这一切的背后,离不开 Flutter 所提供的运行时编译能力。为了更好地理解 Flutter 的热重载实现原理,我们先简单回顾一下 Flutter 编译模式背后的技术吧。 JIT(Just In Time),指的是即 阅读全文

posted @ 2020-11-23 23:59 肖无情 阅读(345) 评论(0) 推荐(0)

摘要:Future 和 Stream 类是 Dart 异步编程的核心。 Future 表示一个不会立即完成的计算过程。与普通函数直接返回结果不同的是异步函数返回一个将会包含结果的 Future。该 Future 会在结果准备好时通知调用者。 Stream 是一系列异步事件的序列。其类似于一个异步的 Ite 阅读全文

posted @ 2020-11-23 23:56 肖无情 阅读(168) 评论(0) 推荐(0)

摘要:Expanded( child: Container( margin: EdgeInsets.fromLTRB(10, 5, 10, 5), padding: EdgeInsets.only(left: 5), decoration: BoxDecoration( color: Colors.whi 阅读全文

posted @ 2020-11-23 23:54 肖无情 阅读(391) 评论(0) 推荐(0)

摘要:TabBarView、PageView 估计是出于节约内存的原因吧。 发现这个问题的时候,搜索了一下全网。大致就两种解决方案,1是修改源码,2是是实现 AutomaticKeepAliveClientMixin 这个mixin就ok了。 官方推荐第二种方法,TabBarView、PageView会添 阅读全文

posted @ 2020-11-23 23:42 肖无情 阅读(164) 评论(0) 推荐(0)

摘要:InheritedWidget提供了一种数据在widget树中从上到下传递、共享的方式 , 简而言之 InheritedWidget 中暴露出来的数据能有效地向下(子widget)传播(和共享)信息 如Flutter SDK中正是通过InheritedWidget来共享应用主题(Theme)和Loc 阅读全文

posted @ 2020-11-23 23:41 肖无情 阅读(165) 评论(0) 推荐(0)

摘要:1、 abstract class CLoginPrenter{ void loginWithShopCode(String shopCode); } abstract class CLoginView { void loginSuccess(); } abstract class CLoginMo 阅读全文

posted @ 2020-11-23 23:39 肖无情 阅读(103) 评论(0) 推荐(0)

摘要:mixins的中文意思是混入,就是在类中混入其他功能。 Mixins是一种在多个类层次结构中复用类代码的方法 可以看出Mixins最重要的功能是复用代码,我们先看下JAVA,复用代码的方式有哪些: 继承 子类可以复用父类的方法和属性,但是JAVA里的继承只能单继承。 组合 将要复用的代码,封装成类A 阅读全文

posted @ 2020-11-23 23:37 肖无情 阅读(137) 评论(0) 推荐(0)

摘要:在 pubspec.yaml 中添加依赖 //pub方式 dependencies: flutter_easyrefresh: ^2.1.1 //导入方式 dependencies: flutter_easyrefresh: path: 项目路径 //git方式 dependencies: flut 阅读全文

posted @ 2020-11-23 23:35 肖无情 阅读(667) 评论(0) 推荐(0)

摘要:class StateManagerByProviderModel with ChangeNotifier{ int count = 0; void increment(){ count ++; notifyListeners(); } } var pmodel = StateManagerByPr 阅读全文

posted @ 2020-11-23 23:34 肖无情 阅读(203) 评论(0) 推荐(0)

摘要:总结: 记住构造函数是不能被继承的,这将意味着子类不能继承父类的命名式构造函数,如果你想在子类中提供一个与父类命名构造函数名字一样的命名构造函数,则需要在子类中显式地声明 如果类A 没有显示声明构造函数,那么它将有一个默认的构造函数,这个构造函数 没有参数 如果这个类有父类, a: 父类没有显示声明 阅读全文

posted @ 2020-11-23 23:30 肖无情 阅读(1618) 评论(0) 推荐(0)

摘要:1、耗时操作(IO)处理 在开发中针对如何处理耗时的操作,不同的语言有不同的处理方式 处理方式一: 多线程,比如Java、C++,我们普遍的做法是开启一个新的线程(Thread),在新的线程中完成这些异步的操作,再通过线程间通信的方式,将拿到的数据传递给主线程。 处理方式二: 单线程+事件循环,比如 阅读全文

posted @ 2020-11-23 23:22 肖无情 阅读(220) 评论(0) 推荐(0)

摘要:1、类 Getters 和 setters 方法 每个实例变量都有一个隐式的getter class Rectangle { num left, top, width, height; Rectangle(num left,num top,num width,num height){ this.le 阅读全文

posted @ 2020-11-23 23:18 肖无情 阅读(75) 评论(0) 推荐(0)

摘要:1、论数字、函数和null都是对象 在变量中可以放置的所有东西都是对象,而每个对象都是类的实例。无论数字、函数和null都是对象。所有对象都继承自[Object]类。 // abstract class int extends num int variable = 3 ; variable.toSt 阅读全文

posted @ 2020-11-23 23:16 肖无情 阅读(211) 评论(0) 推荐(0)

摘要:1、推荐去官网下载,速度并不慢,网址: https://flutter.io/setup-macos/ 配置环境变量,这里笔者使用命令行: vim ~/.bash_profile 添加环境配置 export PATH=/你的flutter文件夹所在位置/flutter/bin:$PATH 保存一下, 阅读全文

posted @ 2019-08-21 14:35 肖无情 阅读(566) 评论(0) 推荐(0)