【问题标题】:ExtJS Memory Leak IEExtJS 内存泄漏 IE
【发布时间】:2016-05-12 15:52:45
【问题描述】:
我在 IE 中面临这个严重的内存泄漏问题(不确定其他浏览器)。我正在创建一个带有商店的简单网格,并且我正在处理自动销毁的概念,但在这个小提琴的每次 RUN/REFRESH 上,内存都在增加并且永远不会回来。
https://fiddle.sencha.com/#fiddle/1a6v
在这个简单的小提琴中究竟需要改变什么来解决这个问题。我请求您通过在此处修复小提琴来帮助我理解问题。我阅读了数百个理论页面,但无法正确理解。请修理小提琴。我将不胜感激。
【问题讨论】:
标签:
internet-explorer
memory
extjs
memory-management
grid
【解决方案1】:
如果我理解正确,您的小提琴会在您单击“运行小提琴”时分配更多内存,但如果您只单击“运行小提琴”一次然后使用应用程序,则不会。
后者通常应该在 Ext 应用程序中完成:它被加载一次到浏览器选项卡中,然后您可以在其中工作,而不会出现更大的内存泄漏。浏览器会在关闭选项卡时终止进程,然后所有内存将再次空闲。
这里的问题是,在单击“运行小提琴”时,小提琴在重新开始(并加载 ExtJS 的新副本!)之前不会破坏旧的小提琴内容。这是因为 fiddle 是用于测试的,如果测试出错,内部框架的状态可能是未定义的(例如 JavaScript 错误)。在重做之前尝试正确销毁内容可能会导致根本不执行新的小提琴。
虽然您可以向 Sencha Fiddle 团队报告您的发现,但我个人会继续前进。如果您发现 Ext 内部存在内存泄漏,并且在您的 fiddle 一次执行期间出现,您应该在官方论坛中向 Sencha ExtJS 团队报告。