网页内存急剧增加
Webpage Memory Increasing drastically
我有一个使用FlotJS渲染图表的EmberJs应用程序。在一个特定的图表中,我们在一个图表中绘制了50多个条形图,网页的内存急剧增加,即使在移动到其他页面后也没有减少。当这个图表被渲染5次以上时,网页就会崩溃。Chrome任务管理器显示以下详细信息,
在绘制图表之前,
内存- 259MB
GPU内存- 63.7MB
Javascript内存- 22,982K(12,755K live)
绘制图表后,
内存- 396MB
GPU内存- 58.2MB
Javascript内存- 46,233K(29,059K live)
注释FlotJS的plot函数时,内存利用率增加了1MB。
可能的原因是什么??Chrome任务管理器显示的内存值包括什么??FlotJS有没有引入内存泄漏??
查看您的代码,我可以重现内存使用情况。但我必须走极端,基本上是这样做的:
while(true)
{
$('.flot').empty();
$.plot(".flot", [JSON.parse(data)] );
}
这会导致成千上万的重绘,并消耗内存。
但是,清空div并重新创建图表并不是重新绘制的正确方法。你应该使用setData
, setupGrid
和draw
的组合。这样做:var splot = null;
while(true)
{
if (splot == null)
{
splot = $.plot(".flot", [JSON.parse(data)] );
}
else
{
splot.setData([JSON.parse(data)]);
splot.draw();
}
}
我的内存使用是平坦的。
同样,你的示例代码没有显示你是如何使用emberJS的。我对它不是很熟悉,但我要仔细检查一下,它的数据绑定功能不会太频繁地迫使图表重绘
相关文章:
- JQuery使计数器每次更改时都会增加
- 如何增加同时按键总数
- 如何使用css动画从中心增加边界线
- JavaScript:单击时相对于父级增加变量值
- PaperJS-增加矢量幅度
- 使用d3进行实时图表时,内存逐渐增加
- javascript setInvertal的使用增加了CPU的内存消耗
- 如何使用java脚本更改浏览器的内存管理以增加会话存储和本地存储的内存
- RAM 内存消耗在简单页面刷新节点上不断增加.js使用 Sails.js 框架
- 别名 JavaScript 对象会增加内存
- 谷歌图表不断重绘内存增加
- node.js的内存使用率是随着同时请求数量的增加而增加,还是泄漏
- 内存增加绘图到画布
- 持续的页面刷新会导致Firefox增加窗口的内存消耗
- 多次打开对话框会缓慢地增加浏览器内存
- Chrome在使用单页应用程序时增加系统内存分配
- ThreeJS loadTexture将图像收集到内存中,并且内存增加得很快
- 刷新选项卡后Java脚本内存增加
- 网页内存急剧增加
- 使用eval()会增加内存消耗吗?