Memory leaks Zing图表内存泄漏,导致浏览器崩溃
我们目前正在浏览器窗口上渲染50-100个画布。IE和chrome浏览器都崩溃了。 经过进一步调查,记忆似乎在稳步增长。导致浏览器崩溃 我们正在构建一个打印图表的解决方案来实现这一目标Memory leaks Zing图表内存泄漏,导致浏览器崩溃,memory-leaks,Memory Leaks,我们目前正在浏览器窗口上渲染50-100个画布。IE和chrome浏览器都崩溃了。 经过进一步调查,记忆似乎在稳步增长。导致浏览器崩溃 我们正在构建一个打印图表的解决方案来实现这一目标 我们在一个简单页面(iframe)中显示所有图表,用户看不到这些图表 使用图表id获取图像数据 由于图表不可见,我们可以在渲染后“销毁”或将其从内存中删除 但“销毁”并不能减少图表的内存占用 已尝试将对象设置为空。这也不管用 附加的代码片段供您参考 var runner = 0 zingchart.complet
var runner = 0
zingchart.complete = function (dataObj) {
for (i = 0; i < ZingChartCollection.length; i++) {
if (dataObj["id"] == ZingChartCollection[i].ChartId) {
var data = zingchart.exec(dataObj["id"], "getimagedata", '{"filetype": "png"}');
zingchart.exec(dataObj["id"], 'destroy');
zingchart.exec();
if (runner < 200) {
document.getElementById("displayCount").value = runner;
render();
}
else {
//zingchart = null;
}
runner++;
}
}
}
var runner=0
zingchart.complete=功能(dataObj){
对于(i=0;i
任何建议都很好 以下是ZinChart开发团队关于此问题的说明:
这里的问题是render()->complete event->image generation->destroy()是一个闭环 ZingChart库的工作方式是,为了尽快启动complete,代码在启动complete后绑定上下文菜单事件。 因此,由于destroy被立即调用,上下文菜单事件被忽略,并开始添加50-100个图表,导致内存泄漏 为了在上下文菜单设置后触发完整事件,将在下一版本中对此进行更改和修复,但是,对于当前设置,有两个选项:
谢谢,ZingChart,你给了我这些建议。然而,以下是一些其他问题。。。1.在某些情况下,“完成”事件会被多次触发。因此,在这些情况下,图像数据是空白的或不完整的。2.在某些情况下,不传输完整的图像数据。如果为图表触发一次“complete”事件并提供完整的图像数据,那就太好了。希望在Zingchart的下一个版本中包含这一点