【问题标题】:javascript RAM memory usage [duplicate]javascript RAM内存使用情况[重复]
【发布时间】:2014-07-23 14:25:13
【问题描述】:

我有可以上传图片的网站。 我在上传之前从客户端进行 CROP,然后在服务器端进行新的优化...

在没有可用 RAM 失败的移动设备上。

如果没有内存,我如何从 JavaScript 获取 RAM 内存使用情况以跳过 CROP?

我只寻找 JavaScript 解决方案!

请我没有内存泄漏!!!

如果我打开许多应用程序并且没有太多 RAM 导致我的策略不起作用

我需要通过 JavaScript 编写代码来获得可用的 RAM,如果它低于一定数量,我会跳过 CROP

------------ OK 定义失败:--------------

人们通过移动设备拍照并上传...
从 JavaScript 我执行 CROP
1. 大约 2MB 的图像变为 300kb
2. 我只上传了 300kb,然后从服务器端上传了 300kb --> 我保存了 30kb

如果没有 RAM,则此错误

我不想说“再试一次”

我想跳过 CROP

非常感谢 cmets。
我处理错误,但我想避免客户端等待 40-60 秒,然后再发送消息

如果我使用 NO CROP 可以,但每张图像带宽节省近 1.7MB... 贪心:-)

window.performance 不错,我会用谢谢。
我将进行研究以从 SERVER SIDE 进行往返我能做些什么我可以为移动设备找到它

【问题讨论】:

  • fail 到底是什么意思?你有错误吗?您是否尝试过使用try...catch
  • 看起来 webkit 有 window.performance.memory 会显示总和使用的堆大小,但这对非 webkit 设备没有帮助。也许更安全的方法是让用户选择裁剪并警告性能可能会受损
  • “如果没有 RAM,则失败” 更具体。它的哪一部分失败了?什么时候失败?

标签: javascript


【解决方案1】:

开发中

使用 Chrome 的 DevTools 进行非常全面的诊断。您可以获得 JavaScript 运行时诊断、请求信息以及您可能需要的任何基本信息。

客户端测试

就测试代码本身有多少可用 RAM 而言,没有真正的“正确”或“推荐”策略 (source)。显然,最好的解决方案是优化你的代码;根据客户端正在运行的其他应用程序的数量来改变您网站的显示/交互可能会让用户感到困惑(例如:他们希望显示某些工具,但它永远不会显示;他们认为页面不是t 正确加载,所以他们离开;等等)。

以上来源的一些亮点:

  • "计算 DOM 元素或文档大小可能是一个很好的估计,但它可能非常不准确,因为它不包括事件绑定、data()、插件、和其他内存中的数据结构。”

  • 您需要同时监控 DOM 用于代码的内存以获得准确的结果。

  • 您可以尝试使用window.performance (source),但这在不同的浏览器中没有得到很好的支持。

注意:正如Danny 在下面的评论中提到的那样,在禁用某个功能时显示一条建议消息可能会消除一些混乱,但是为什么要在一个如此可选的功能上使用资源,以至于您可以不使用它?只有我的两分钱...... :)

【讨论】:

  • Asker 可以使用 DevTools 在他的计算机中进行诊断,但不能检查客户的计算机是否有足够的 RAM。
  • 正在写作中——抱歉。查看更新后的答案。
  • 我不同意这种说法“从设计的角度来看,根据客户端运行的其他应用程序的数量来改变网站的交互并不是一个好主意”——我认为只运行一个如果客户端有足够的资源来完成此步骤而不会导致设备崩溃,请使用特定工具。因为诸如裁剪之类的事情可以在以后有更多可用资源时进行。
  • “我认为,如果客户端有足够的资源来完成此步骤而不会导致设备崩溃,那么只运行特定工具是个好主意”——如果用户希望“工具”能够出现,它从来没有?它可能既令人困惑又令人恼火。
  • 我确定一个简单的咨询信息会消除他们的困惑和恼怒......让您的设备崩溃不会让您更加沮丧?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多