javascript - 可以在浏览器中检查 'available memory' 吗?

标签 javascript google-chrome memory v8

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

  • 他们通过具有 1.2GB 可用内存的桌面查看它。他们可以下载整个文件。
  • 后来,他们尝试在手机上查看同一张表。我们检测到他们只有 27MB 的可用内存,因此给他们一个警告,上面写着“我们检测到您的设备没有足够的内存来查看整个表格。您想下载一个示例吗?”

  • 忽略分页或虚拟表之类的东西,我只关心“如果完整的数据集可以适合用户的可用内存”。这是否可以在浏览器中检测到(即使有用户确认)。如果是这样,如何做到这一点?
    更新
    这个答案大约在 6 年前就已经回答过了,the question指向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
    CanIUseTableImage

    关于javascript - 可以在浏览器中检查 'available memory' 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65515488/

    相关文章:

    javascript - 返回 JavaScript 中包装的对象

    javascript - Cpanel 和 WHM 不会在 Chrome 中保存密码

    javascript - jQuery ScrollTo Chrome 修复

    memory - Powershell 内存使用情况

    javascript - 是否有标准方法来路由 setState redux 操作?

    javascript - Chart.js 有没有办法根据值对折线图刻度进行着色

    javascript - 创建我自己的自定义 yeoman 生成器时,如何使用 Gruntfile 提示中的变量?

    javascript - 现在缺少 g 标志时 matchAll 抛出错误?

    java - 有没有办法对Java中的每个线程设置最大内存使用限制?

    c - 取消引用自定义内存地址时出现段错误 (C)