在浏览器崩溃之前检测内存耗尽

War*_*ine 7 javascript browser memory events low-memory

当 JavaScript 客户端应用程序使用过多内存时,浏览器将崩溃或抛出无法恢复或交换的异常,就像 80 年代一样。

浏览器是否发出信号表明它们几乎达到了选项卡的可用内存限制?

理想情况下,我希望能够在浏览器内存不足时捕获可以在 JavaScript 中拦截的事件,以便自动回退到应用程序的轻型版本或告诉我的用户去购买新计算机/ 电话。

我知道 Chrome 性能工具允许不精确地查询已用内存,这是第一步,但可能不足以检测内存限制。

And*_*gee 4

不,不幸的是,没有跨浏览器的方法来检测这一点。这个答案对此进行了一些讨论。

window.performance.memory,但仅在 Chrome 中可用

我也不知道有什么真正好的解决方法。您也许可以检查旧浏览器或没有特定功能的浏览器(“功能检测”),并建议使用旧浏览器的用户使用您的“轻型”版本,因为这些人最有可能拥有低功耗设备。

另一种可能性是查看某些特定操作需要多长时间,如果需要太长时间,则推荐轻型版本。这又是一个非常生硬的解决方案。