flutter 中 UniqueKey 的范围是什么?

Joh*_*ang 5 dart flutter statefulwidget

我是一个独特的人。我的意思是我与这个世界上所有其他人都不同。当我在 flutter 中创建一个 UniqueKey 时,它与其他的有什么不同

jam*_*lin 9

AUniqueKey是唯一的,就像每个实例化对象都是一个单独的对象一样。的实现UniqueKey并没有什么神奇之处。在进程中AUniqueKey永远不会与另一个进行比较,并且跨进程比较 s 是没有意义的。UniqueKeyUniqueKey

AUniqueKey不是 UUID/GUID;例如,如果您运行identityHashCode它并保存它,则无法保证其他某个对象不会生成相同的identityHashCode值。(并且identityHashCode最终仍然是哈希码,这意味着两个对象无论如何都可能生成相同的哈希码。)

(如果你想知道,a 是否UniqueKey可以与UniqueKey在此过程中已经创建并被垃圾收集的 a 相同,那么这就像一个禅宗公案:由于将它与较早的实例需要对其进行引用,而引用将阻止它被垃圾收集。)