每个Widget在构造时候都有一个key
在flitter中,key是不能重复使用的,所以key一般作为唯一标识
组件在更新时候其状态的保存主要是通过判断组件的类型或key值是否一致。因此各组件类型不同时,类型足够可以区分不同组件了,此时不用key,但是如果组件类型相同我们就要用到key。
不用key,如果一个列表进行重新排列时就会出现无效的情况。
Future、Stream、ioslate
Hotspot Dalvik ART
在 JVM 运行时数据区(栈和堆) 有简单提到,Hotspot 虚拟机是基于 JVM 标准开发的虚拟机,而 Android 并不是使用的 Hotspot 虚拟机,而是使用了 Dalvik 虚拟机,在 Android 5.0 后被替换为 ART 虚拟机。
Dalvik 虚拟机与 Hotspot 虚拟机的区别:
不直接运行 class 字节码文件,执行的是编译后的 dex 字节码文件
它的结构基于寄存器指令集结构,而不是 JVM 的栈指令集结构