今天老师让我把一个项目接过来,还有个定时局部刷新的需求没做完。当时想的很简单,直接用ajax再去请求一次,直接把整个页面换掉。
但是在执行的时候出现了一些问题。
项目中使用了echarts用来显示图表,但是在每次重新请求并把页面替换时, 每次请求之后浏览器占用的内存都会增加。在多次请求之后,浏览器就会因为内存占用过多卡顿,无法响应。
后来猜想可能是echarts占用的内存没有及时回收而导致内存泄漏。
搜索一下,根据这篇文章所说,又两种方法,一种是调用clear方法,一种是dispose方法。第一种是清理echarts 但是不销毁实例。第二种是销毁实例,再次使用需要重新构建实例
因为我要请求之后换掉整个页面,所以我使用第二种方法。解决问题
原文地址:https://www.cnblogs.com/c-supreme/p/9609841.html
时间: 2024-11-09 02:17:24