如何检测浏览器中使用的内存量 [duplicate]

How to detect to much memory being used in browser [duplicate]

提问人:user2765977 提问时间:6/25/2015 最后编辑:user2765977 更新时间:6/25/2015 访问量:216

问:

我正在编写客户端应用程序,但经常遇到一个问题,即我在低端设备上使用了大量内存,并且它停止处理 javascript 以弥补这一点。这似乎是低端设备上此问题的常见“解决方案”。

是否有任何合理的方法来检测内存使用率和/或限制,或者何时达到限制并且脚本失败等?

如果我能检测到这一点,我就可以实施解决方案来处理它(如限制缓存、更延迟的加载等)

请不要将我的问题标记为与问题重复,该问题的唯一答案是关于如何检测内存使用情况而不是估计内存限制!

JavaScript 性能 内存 客户端

评论

0赞 Paul S. 6/25/2015
如果这成为一个问题,那么可以考虑使用一些东西来降低所有用户的内存,因为每个人都应该看到性能提升,例如,所有精灵的单个图像,共享内存而不是复制东西等
0赞 user2765977 6/25/2015
并不是那篇文章涉及检测内存使用情况,我更感兴趣的是弄清楚你是否达到了内存限制。
1赞 user2765977 6/25/2015
@Paul:所有的事情都已经完成了。我试图弄清楚有多少缓存等。我可以侥幸逃脱。(所有可选的内存内容)
0赞 mccainz 6/25/2015
我能想到在 javascript 中解决这个问题的唯一方法是编写一个性能函数并按时间间隔运行它。与其执行时间和内存使用情况进行一些随意的关联。进行相应调整。
0赞 user2765977 6/25/2015
我也倾向于这个方向。我想到也许以某种方式将该信息与设备分辨率相关联,以对可用内存做出一般假设。

答:

0赞 arnabkaycee 6/25/2015 #1

这可能会对您有所帮助:

http://www.monitis.com/blog/2011/05/15/30-tips-to-improve-javascript-performance/

至于页面性能:

  1. 使用 chrome 开发者窗口中的“配置文件”选项卡(按 F12 启动它)

  2. Firefox 中的 Firebug 分析器

评论

1赞 user2765977 6/25/2015
不幸的是,当我在缓存等事情上使用过多内存时,我需要在浏览器中以编程方式确定,以便我可以动态地设置限制。
0赞 arnabkaycee 6/25/2015
恐怕你不能那样做。JS 不会公开这样的 API 来执行此操作。使用延迟加载、减少循环、使用特定选择器等做法始终被认为是最佳实践。