javascript Angular中增量DOM和虚拟DOM的区别

gjmwrych  于 2023-05-16  发布在  Java
关注(0)|答案(1)|浏览(126)

我有两个关于Angular的问题。我试着阅读了一些文章,但我不明白。
1.什么是增量DOM?
1.增量DOM和虚拟DOM的区别是什么?

des4xlb0

des4xlb01#

增量DOM是一个用于构建DOM树并在数据更改时就地更新它们的库。它与已建立的虚拟DOM方法的不同之处在于,不创建中间树(现有树就地突变)。这种方法显著减少了DOM树增量更新的内存分配和GC颠簸,因此在某些情况下显著提高了性能。
https://github.com/google/incremental-dom

虚拟DOM将新的整个虚拟DOM与之前的虚拟DOM进行比较(diff),然后将这些更改应用于实际DOM。- 此方法创建新的虚拟DOM以确定更改(内存繁重)。
增量DOM有一个虚拟DOM,并沿着树查找更改,然后对虚拟DOM进行变异,然后将这些更改应用于实际DOM -(减少内存大小和垃圾收集)。

虚拟DOM -占用大量内存,因为它需要为虚拟DOM“可能”发生的更改预留空间。
增量DOM -不需要这么大的内存占用,因为内存只为更改而分配。
测试表明,即使没有虚拟DOM,增量DOM也足够快。

相关问题