javascript - Vuex - 每 5 秒轮询大量数据时的内存泄漏/JS 堆大小
问题描述
我有一个使用 Vuex 进行商店管理的 Vue 应用程序。我在根目录有多个存储模块,每 5 秒,我拉出一大块数据,并在存储突变的帮助下将其推送到存储状态。问题是每次状态发生变化时堆大小都会增加。它一直在增长,直到浏览器内存不足。
我的商店如下所示。
const store = new Vuex.Store({
modules: {
moduleA,
moduleB
}
})
解决方案
整个页面状态(包括 DOM 和 Javascript/Vuex 数据)都将保留在内存中,直到您在 SPA 中重新加载整个页面(如果您使用的是 vue-router,就会出现这种情况)。
在 SPA 中,您需要确保在不再需要大型对象和数组时删除对它们的任何引用(例如设置为 null),以便垃圾收集器可以释放内存。
在内存堆用完之前删除或释放不再需要的对象和变量很重要。
推荐阅读
- android - 如果要渲染的数据过多,双簧管会停止渲染音频
- python - 如何使用 html 或 python 将视频音乐上传到我的网站?
- path - 我想生成带有共享 limage 路径的链接
- cordova - Base64 to Gallery 插件在 Ionic 4 和 5 中不起作用
- javascript - 迁移到 webpack 5 时检测 webpack 构建中节点使用情况的静态分析
- r - 如何使数据框的行按一个或多个位置缩放?
- c - “*((char **)pTemp) = pTemp + 2;”是什么意思
- database - 以只读方式打开 MS Access 数据库而不锁定它
- firebase - Firebase/Flutter:函数调用后用户没有被删除
- json - 弹性搜索;如何优化突出显示语法以避免长时间使用基于 json 的文档