我正在使用here提供的方法来减少我的Vue.js应用程序的内存膨胀,该应用程序具有很多表/行数据。我们看到内存膨胀,尤其是在IE中。 例如包含两行的页面在加载页面时可以跳转到100MB。
我发现,如果我冻结进入存储行数据的列表/数组的每个对象,膨胀就会大大降低。 100MB-> 60MB
对于减少多个页面上有大量表数据的Vue.js应用程序,这是否是减少内存膨胀的最佳解决方案? 我注意到,如果不发生冻结,则IE可以在击中2-3页并执行1-3个搜索后将内存增加到〜1GB,每个搜索导致50行数据!每次我们进行搜索时,我都会尝试清除数组,以便进行垃圾收集器清理工作,但这确实没有太大影响。
另外,当我们在数据表行中有一列需要即时更改(例如日期或名称)时,我应该 1.放松 2.做出改变 3.再次冻结 4.将其推回阵列
使用类似this package
答案 0 :(得分:0)
这可能会有点晚,但是您也可以在可变变量(let
)中创建对象,并在需要重置时将原始对象重新分配给该变量。
例如:
let obj = { objProp: "example" };
if (condition) {
Object.freeze(obj);
}
else {
obj = { objProp: "example" };
}