Flutter动画

https://flutter.cn/docs/development/ui/animations

动画的基本组成

Animation

作用:保存动画的差值和状态。整个动画执行过程可以是线性的、曲线的、一个步进函数或者任何其他曲线,由Curve来决定。

  • addListener
Read More

空安全

概述

为什么需要空安全?

当你选择使用空安全时,代码中的类型将默认是非空的,意味着除非你声明它们可空,它们的值都不能为空。有了空安全,原本处于你的 运行时 的空值引用错误将变为 编辑时 的分析错误。这样可以大大降低空指针问题。

比如以下代码,string参数可能会报NoSuchMethodError异常。

1
2
3
4
5
6
7
// Without null safety:
bool isEmpty(String string) => string.length == 0;

main() {
isEmpty(null);
}

Read More

Future

Future 是在未来某个时间获得想要对象的一种手段。Future 表示一个不会立即完成的计算过程。与普通函数直接返回结果不同的是异步函数返回一个将会包含结果的 Future。该 Future 会在结果准备好时通知调用者。

Future中除了microtask外,其他任务都是添加到Event队列中执行。

Future状态

Read More

Stream

Stream 是一系列异步事件的序列。其类似于一个异步的 Iterable,不同的是当你向 Iterable 获取下一个事件时它会立即给你,但是 Stream 则不会立即给你而是在它准备好时告诉你。

Stream的类型:

  • Single-Subscription
Read More