标签:ajax charts google-visualization javascript jquery
我正在将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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。