Hi,
I'm hoping I can get some guidance on plugging a memory leak that I'm seeing with Envision.js.
I'm using Envision to show financial charts. Each chart has 7 different durations that are iterated over every 10 seconds. Here's the code I'm using that destroys and then redraws the chart to plot the new data:
this.finance.vis.destroy();
this.finance = null;
this.finance = new envision.templates.PriceChart(options);
I'm confident that this is the code that is leaking. When I leave those lines in, Chrome memory increases steadily. When I comment those lines out, Chrome memory varies within a much more acceptable range. Below is a link to the page I'm testing against. You'll notice that the charts stay the same as the selected buttons change, but that's because I've removed the above lines to confirm that redrawing the chart is what's causing the leak. This is best viewed in Chrome -
http://rvaviewer-test.appspot.com/Viewer.html?type=presentation&id=1f911623-b837-49c0-b0b2-0f9d9b24d178&showui=false
We currently have some digital signage screens showing financial charts out in the field that are crashing after about 10 hours. Of course, the more charts, the less time it takes for them to crash.
Do you have any thoughts on what could be hanging around and not being garbage collected? I've tried analyzing the results using Chrome's Profiler Dev Tools, but the results are pretty useless.
Thx!