问题:如果浏览器停留在此页面时候,内存正常(谷歌 F12-->Memory), 但是如果将浏览器切换到其他标签页(假如打开一个百度,停留在百度页),内存会一直增长,直至崩溃
代码:
this.intervalId = setInterval(() => {
let {myCharts} = this
let options = this.myCharts.getOption()
let serData = JSON.parse(JSON.stringify(options.series))
// 把所有数据清空
for (let i = 0; i < serData.length; i++) {
serData[i].data = null
}
myCharts.setOption({
series: serData
})
setTimeout(() => {
// 重新赋值
myCharts.setOption({
series: options.series
})
}, 800)
}, 6000)
在网上试了一个例子: https://echarts.baidu.com/examples/editor.html?c=gauge-car
在编辑框最下面改为
setInterval(function (){
option.series[0].data[0].value = 0;
option.series[1].data[0].value = 0;
option.series[2].data[0].value = 0;
option.series[3].data[0].value = 0;
myChart.setOption(option,true);
setTimeout(function() {
option.series[0].data[0].value = (Math.random()*100).toFixed(2) - 0;
option.series[1].data[0].value = (Math.random()*7).toFixed(2) - 0;
option.series[2].data[0].value = (Math.random()*2).toFixed(2) - 0;
option.series[3].data[0].value = (Math.random()*2).toFixed(2) - 0;
myChart.setOption(option,true);
}, 800);
},2000);
打开 f12 切走页面看内存。
问: 有知道原因的同学吗? 我这边一开始想的是内存释放的问题, 那页面激活和未激活为啥会不一样?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.