【发布时间】:2011-01-02 21:55:41
【问题描述】:
让我们立即明确:这不是关于内存泄漏的问题! 我有一个页面,允许用户输入一些数据和一个 JavaScript 来处理这些数据并产生结果。 JavaScript 在 DIV 上产生增量输出,如下所示:
(function()
{
var newdiv = document.createElement("div");
newdiv.innerHTML = produceAnswer();
result.appendChild(newdiv);
if (done) {
return;
} else {
setTimeout(arguments.callee, 0);
}
})();
在某些情况下,计算会产生太多的数据,以至于 IE8 会失败 与此消息:
处理过多数据时存储空间不足
问题是: 有什么方法可以计算出多少数据是太多数据?
正如我所说,没有要解决的错误。这是真正的内存不足,因为计算 需要创建太多的html元素。
如果浏览器成功,我的想法是在执行计算之前运行一个函数以提前计算。但要这样做,一般来说,我认为我需要找到浏览器可用的内存。
欢迎提出任何建议。
【问题讨论】:
-
数据这么多,用户都应付不来?
-
用 try/catch 包围代码是否有效?
-
memory.performance.usedJSHeapSize现在在 Chrome 中运行良好。 -
我想你的意思是:
window.performance.memory.usedJSHeapSize -
另请注意,它仅适用于 Chrome。见:docs.webplatform.org/wiki/apis/timing/properties/memory
标签: javascript memory cross-browser large-data-volumes