vue keepAlive组件中的storageContainer存在内存泄漏

Vue测试版本

"vue": "3.2.12",

内存泄漏快照

源码分析内存泄漏原因

在keepAlive组件的setup函数中, 声明了一个变量 const storageContainer = createElement('div');,在组件失活的时候会将当前组件的真实DOM移到storageContainer节点下面; 但当组件卸载时,没有将该组件的真实DOM从storageContainer节点上移除,故导致内存泄漏。

解决方案

在pruneCacheEntry函数中, 将组件真实DOM从storageContainer节点下移除

相关推荐
前端那点事19 分钟前
彻底解决KeepAlive缓存乱象!Vue3精细化按需缓存+路径重置终极方案
前端·vue.js
前端那点事19 分钟前
Vue 的 template 标签不能用 v-show?底层机制+踩坑复盘+生产级解决方案
前端·vue.js
前端那点事23 分钟前
从零落地前端性能优化:全链路避坑+实战调优方案
前端·vue.js
Momo__1 小时前
Vue3 v-memo:长列表渲染的性能核武器
前端·vue.js
ljt27249606612 小时前
Vue笔记(三)--用户交互
javascript·vue.js·笔记
Martin -Tang2 小时前
uniapp 实现录音操作,长按录音,放开取消
前端·javascript·vue.js·uni-app·css3·录音
代码煮茶4 小时前
Vue3 组件库二次封装实战 | 基于 Element Plus 封装企业级 UI 组件库
前端·javascript·vue.js
ljt27249606615 小时前
Vue笔记(四)--组件基础
前端·vue.js·笔记
天渺工作室5 小时前
把一篇老文章内容 Vibecoding 成了 npm 包
前端·vue.js·npm
南城雨落5 小时前
uni-app开发经验分享-跨端开发经验总结
javascript·vue.js·node.js