iview内存泄漏

iview在升级到view-design之前,是存在严重的内存泄漏问题的,而如果你在项目中大量使用了iview组件,就可能面临大量的升级工作要做,因为样式很多是不兼容的。

我们今天就看一下iview的源码,看看到底问题在哪里?为什么会导致内存泄漏?

内存泄漏的产生

首先进入iview官网https://iview.github.io/,安装老版iview2.0。

复制代码
npm install iview -S

我们看一下常用的table组件吧:


1.png

我们可以看到,在beforeDestory周期中,只释放了挂载的resize事件,并未释放this下注册的自定义事件on-visible-change,这就会导致运行一段时间,this下挂载的自定义事件越来越多,从而导致内存的泄漏。

我们再看看升级后的view-design:


2.png

可以看到,作者已经将这个漏洞堵住了。类似的问题大家可以在其他组件找到,老版iview2.0有大量这类的问题,通过this.$on方法注册的自定义事件都没释放。

beforeDestroy

我们一定要重视beforeDestroy生命周期的作用,将dom的引用、所有注册的事件都要释放掉,防止内存泄漏的产生。
最后编辑于:2025-04-21 10:55:09
© 著作权归作者所有,转载或内容合作请联系作者

喜欢的朋友记得点赞、收藏、关注哦!!!

相关推荐
吾日三省吾码7 分钟前
Java 垃圾回收 (GC) 全面解析!
java·开发语言·jvm
Learn-Share_HY20 分钟前
[Linux]如何配置mailutils郵件服務?
linux·运维·mysql·ubuntu·apache·bash·devops
TechExplorer36531 分钟前
MySQL重置密码终极版
mysql·dba·db
比特森林探险记32 分钟前
《Java vs Go:现代编程语言的核心差异与设计哲学对比》
java·开发语言·golang
海盐泡泡龟41 分钟前
大文件上传如何做断点续传?(分别使用vue、React、java)
java·vue.js·react.js
武昌库里写JAVA1 小时前
Vue3响应式数据: 深入分析Ref与Reactive
java·vue.js·spring boot·学习·课程设计
biubiubiu07061 小时前
SpringBoot中消息转换器的选择
java·spring boot·spring
阿坤是新手啊1 小时前
mysql知识点1--了解数据库
数据库·mysql·oracle
牛马baby1 小时前
Java高频面试之并发编程-20
java·开发语言·面试
bing_1581 小时前
Spring Boot 项目中常用的 ORM 框架 (JPA/Hibernate) 在性能方面有哪些需要注意的点?
数据库·spring boot·hibernate