我有一个使用dojo,extjs5和jquery框架的xpage。它的一个页面包含大约20个网格,包括一些树网格。一些网格非常大(大约50列)。由于网格是相互关联的,因此它们基于左窗格上的用户选择保持隐藏/显示的单页。
我检查了IE11开发人员工具中的内存使用情况。它的起始速度约为300MB,但很快就会增长到接近1GB。一切都加载后它稳定在364MB左右但是当我拍摄快照时它正在攀爬并停留在那里。另一个主要担心是总物体数量约为230000.我不知道从哪里开始。甚至不确定是否可以解决这个问题。我附上了一些内存使用的截图。
感谢提前解决此问题的任何专家意见
答案 0 :(得分:1)
如果内存不正常,你应该检查消耗内存的对象。使用Google Chrome网络开发者工具中的内存分析选项来检查。
查看这些链接,了解是否有错误
Finding JavaScript memory leaks with Chrome
https://developer.chrome.com/devtools/docs/javascript-memory-profiling
https://developer.chrome.com/devtools/docs/heap-profiling
今天的Javascript引擎非常高效并且使用了你机器的内存。 在较低的内存机器上尝试相同的页面,例如在Virtualbox中,看看你是否获得了与页面相同的结果/速度
答案 1 :(得分:0)
我希望在页面渲染时使用更多内存(接近1GB),然后浏览器释放工作内存/堆栈等松弛。
如果你使用3个可能产生大量对象的框架(dojo,jquery,extjs5),我猜也是如此。 230,000似乎很多,但我敢说甚至一个简单的页面导致相当多。也许尝试加载&分析一个相当简单的网页,看看是什么"非沉重的"页面看起来像一个比较?
然而,随着时间的推移,它的上升可能表明存在内存泄漏。
页面是"做什么"虽然你不管它(可能是一次操作/心跳?)如果是这样的话,也许这是造成记忆力减慢的原因。
如果你确定这不是这种情况,也许在不同的浏览器中尝试相同的事情,看看他们中的任何一个是否慢慢吃内存?如果不是其他浏览器的问题,它暗示IE特定的内存泄漏,正如村里的长者会证实的那样,并非闻所未闻。