如何确定我的Google图表数据已从Java内存中删除?
作者:互联网
我正在将Google图表用于仪表板Web应用程序,并且需要添加功能以定期刷新页面.
我设置了一些快速代码,这些代码基本上在JS计时器结束时重新提交表单.
function timerTick() {
window.setTimeout("timerTick()", 15000);
document.forms["input"].submit();
}
我有一个可以进行Ajax调用以获取Json格式数据的表单.
然后,我浏览数据并填充我的Google图表对象.
问题是,浏览器使用越来越多的内存,最终崩溃.
我尝试将所有图表变量都设置为全局,然后在获取新数据之前将它们设置为null,但这仅提供了少量帮助.
我也尝试了以下方法:
$("chart_div").empty();
$("chart_div2").empty();
$("chart_table").empty();
只是为了清除DOM中的所有图表数据,但看起来如果没有页面刷新就无法进行垃圾回收.
识别可能的内存占用或使垃圾收集工作更迅速的方法的任何帮助都是很棒的.
先发制人的感谢.
解决方法:
在每个可视化文件上调用clearChart方法-该方法应清除每个图表的HTML和事件处理程序.然后,您可以使图表对象无效,并且应该将其垃圾回收.
尽管可视化API在最近的更新中已得到修复,但以前曾发生过内存泄漏.如果这不能解决泄漏问题,则应在此处提交错误报告:code.google.com/p/google-visualization-api-issues/issues/list
将其移到此处,可以将其标记为答案.
由asgallant于12月7日0:36发表评论
标签:ajax,charts,google-visualization,javascript,jquery 来源: https://codeday.me/bug/20191122/2059466.html