首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Object.freeze和object.unfreeze减少包含大量表数据行的反应式页面中的内存膨胀

使用Object.freeze和object.unfreeze减少包含大量表数据行的反应式页面中的内存膨胀
EN

Stack Overflow用户
提问于 2019-05-02 01:31:56
回答 1查看 1.1K关注 0票数 4

我正在使用一种给here的方法来减少我的Vue.js应用程序的内存膨胀,该应用程序有大量的表/行数据。我们看到内存膨胀,特别是在IE中。例如。一个有几行的页面可以在加载页面时跳转~100MB。

我发现,如果我冻结进入我们存储行数据的列表/数组中的每个对象,则膨胀会显着降低。100MB -> 60MB

对于在多个页面上有大量表数据的Vue.js应用程序来说,这是减少内存膨胀的最佳解决方案吗?我注意到,如果没有冻结发生,IE在访问2-3个页面并执行1-3次搜索后,可以将内存跳到~1 1GB,每个搜索产生50行数据!Adn每次我们做搜索时,我都试图清理数组,这样垃圾收集器就会清理干净,但这真的没有太大影响。

此外,当我们在数据表行中有一列需要动态更改时(例如,日期或名称)是否应该1.取消对对象的感知2.进行更改3.再次冻结它4.将其推送回数组

使用像this package这样的东西

EN

回答 1

Stack Overflow用户

发布于 2020-11-05 07:17:26

这可能有点晚了,但是您也可以在可变变量(let)中创建一个对象,并在需要重置该变量时将原始对象重新分配给该变量。

例如:

代码语言:javascript
复制
let obj = { objProp: "example" };

if (condition) {
    Object.freeze(obj);
}
else {
    obj = { objProp: "example" };
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55940186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档