可以在浏览器中检查“可用内存”吗?

我只是在编一个场景,但假设我有一个 500MB 的文件,我想为客户端提供一个 html 表来查看数据。假设有两种情况:

  • 他们正在通过桌面查看它,其中有 1.2GB 的可用内存。他们可以下载整个文件。
  • 后来,他们尝试在手机上查看同一张桌子。我们检测到他们只有 27MB 的可用内存,因此向他们发出警告:“我们检测到您的设备没有足够的内存来查看整个表格。您要改为下载示例吗?”

忽略分页或虚拟表之类的东西,我只关心“完整数据集是否可以放入用户的可用内存中”。这是否可以在浏览器中检测到(即使经过用户的确认)。如果是这样,怎么能做到这一点?

更新

这个答案大约在 6 年前就有答案,问题指向 10 年前的答案。我想知道当前的状态是什么,因为从那时起浏览器发生了很大的变化,还有 webassembly 等。

回答

使用performance.memory.usedJSHeapSize. 虽然它是非标准的并且正在开发中,但它足以测试所使用的内存。您可以在 edge/chrome/opera 上试用它,但遗憾的是不能在 firefox 或 safari 上(截至撰写本文时)。

属性( performance.memory)

jsHeapSizeLimit:上下文可用的堆的最大大小(以字节为单位)。

totalJSHeapSize:总分配的堆大小,以字节为单位。

usedJSHeapSize: JS 堆的当前活动段,以字节为单位。

阅读更多关于performance.memory:https : //developer.mozilla.org/en-US/docs/Web/API/Performance/memory。

CanIUse.com:https://caniuse.com/mdn-api_performance_memory

CanIUse.com 2020/01/22


以上是可以在浏览器中检查“可用内存”吗?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>