Echart 内存增长问题

空城大叔 发布于 2014/08/29 11:09
阅读 2K+
收藏 0

@Kener-林峰 你好,想跟你请教个问题:

你好,我们目前在使用Echart开发一个项目。我想问一下Echarts 在地图初始化后,对MarkPoint赋值,然后地图冒泡,发现如果定时切换MarkPoint的值,使得地图上的点切换会导致浏览器占用的内存不断增加而不会释放。然后我去看了一下Echarts 关于百度迁徙那个例子,在我来回切换图例,地图变幻数据的时候,内存也是如此。不断切换图例,内存会不断增长。


http://echarts.baidu.com/doc/example/map11.html


想问一下,这种通过对地图上的点切换后导致内存不断上涨的问题有什么好的解决办法吗?

加载中
0
Kener-林峰
Kener-林峰
什么浏览器?观察一段时间?GC没发生?
s
suzqun
这边测试也发现相同的问题,目前还在进一步的测试中。
空城大叔
空城大叔
也不是说完全没释放内存,但是总体来说是不断上涨的
空城大叔
空城大叔
谷歌、火狐都试过了,没有释放内存,观察了很长时间也是如此
0
kimmking
kimmking

可以开着 chrome console,record模式,看memory,

最简单的复现只需要频繁移动左下角的游标。

时间长点还是会GC的。

空城大叔
空城大叔
回复 @kimmking : 不行,我刚监测了下,就打开了那个地图网页,操作到占用了220M内存后就没操作了,吃完饭回来都一个小时了,返现占用内存586M。。不但没释放。反而还增长了这么多
kimmking
kimmking
回复 @空城大叔 : 停止操作,过一会儿就降回来了。
空城大叔
空城大叔
我看了,会GC一部分,但是总体占用内存还是会上涨啊,随着地图上的璇光点不断切换和时间而上涨。这怎么解啊?Restore(),dispose()等等方法我都试过还是不行
0
s
suzqun
不只是这个图表,echarts的其它图表也发现有内存泄露。
0
s
suzqun
这可能跟chrome浏览器有关 ,之前测试使用频繁使用 setattribute时会有内存增长,不知道chrome有没有解决。还是我使用其它导致的。
空城大叔
空城大叔
火狐也是如此,所以应该不是浏览器的问题,我在想是不是Canvas元素占用的资源没释放掉才会这样
0
HanGuangl
HanGuangl
不知是否解决了这个问题,我这边也遇到了这个问题,整体过程中GC会被触发,在有的时间有所下降,但是整体还是在不停的上涨。用的Ajax每10s的向后台取一次数据,只要地图不冒泡,内存就是正常的,一旦冒泡,内存就会不停的向上涨。
0
空城大叔
空城大叔

引用来自“HanGuangl”的评论

不知是否解决了这个问题,我这边也遇到了这个问题,整体过程中GC会被触发,在有的时间有所下降,但是整体还是在不停的上涨。用的Ajax每10s的向后台取一次数据,只要地图不冒泡,内存就是正常的,一旦冒泡,内存就会不停的向上涨。
没完全解决,只是缓解了一下,我只是降低了地图上的炫光点的切换时间,然后内存相对来说不会涨太多,释放和上涨基本能保持个平衡吧!
返回顶部
顶部