我正在使用一种给here的方法来减少我的Vue.js应用程序的内存膨胀,该应用程序有大量的表/行数据。我们看到内存膨胀,特别是在IE中。例如。一个有几行的页面可以在加载页面时跳转~100MB。
我发现,如果我冻结进入我们存储行数据的列表/数组中的每个对象,则膨胀会显着降低。100MB -> 60MB
对于在多个页面上有大量表数据的Vue.js应用程序来说,这是减少内存膨胀的最佳解决方案吗?我注意到,如果没有冻结发生,IE在访问2-3个页面并执行1-3次搜索后,可以将内存跳到~1 1GB,每个搜索产生50行数据!Adn每次我们做搜索时,我都试图清理数组,这样垃圾收集器就会清理干净,但这真的没有太大影响。
此外,当我们在数据表行中有一列需要动态更改时(例如,日期或名称)是否应该1.取消对对象的感知2.进行更改3.再次冻结它4.将其推送回数组
使用像this package这样的东西
发布于 2020-11-05 07:17:26
这可能有点晚了,但是您也可以在可变变量(let)中创建一个对象,并在需要重置该变量时将原始对象重新分配给该变量。
例如:
let obj = { objProp: "example" };
if (condition) {
Object.freeze(obj);
}
else {
obj = { objProp: "example" };
}https://stackoverflow.com/questions/55940186
复制相似问题