Javascript ember qunit中的内存泄漏
在单元测试期间,我的Ember CLI应用程序内存泄漏 我有一个相当大的测试套件,包括大约300多个测试。当我一次运行套件中的所有测试时,Chrome达到了1.6GB的内存限制并崩溃。显然,这是不可接受的 我已经从运行单个测试中收集了内存配置文件。测试通过后,我看到很多Javascript ember qunit中的内存泄漏,javascript,google-chrome,ember.js,memory-leaks,ember-cli,Javascript,Google Chrome,Ember.js,Memory Leaks,Ember Cli,在单元测试期间,我的Ember CLI应用程序内存泄漏 我有一个相当大的测试套件,包括大约300多个测试。当我一次运行套件中的所有测试时,Chrome达到了1.6GB的内存限制并崩溃。显然,这是不可接受的 我已经从运行单个测试中收集了内存配置文件。测试通过后,我看到很多类的实例,但并不确定它们是什么。还有一些HTMLBarsMorph对象。我在下面附上下面内存快照中的一些屏幕截图 问题:如何诊断Ember CLI应用程序中的泄漏?具体地说,我怎样才能找出堆上到底留下了什么垃圾呢?Class,HT
类
的实例,但并不确定它们是什么。还有一些HTMLBarsMorph
对象。我在下面附上下面内存快照中的一些屏幕截图
问题:如何诊断Ember CLI应用程序中的泄漏?具体地说,我怎样才能找出堆上到底留下了什么垃圾呢?Class
,HTMLBarsMorph
的实例似乎都很常见,所以没有多大帮助
似乎有些对象的\u state
设置为“销毁”
。听起来不对,不是吗?我想它们应该处于“已销毁”
状态,如果有的话
编辑:
执行了以下附加实验:
,后只运行,和断言。确定(真)
。这次没有泄漏
- 容器
- 过渡状态
- 登记处
- 例如,两个DetachedDOM对象本身不会导致容器泄漏
- 星段(?)
visit()
时,在第二组快照中没有可见的泄漏:
听起来可能很明显,但每次测试后你都会拆掉应用程序吗?测试完成后,不应该有任何东西留给检查员显示(没有余烬应用程序)。@Kitler:是的,事实上,我在测试后拆除了应用程序,所以我想不是这样的。@Kitler:添加了一些实验,也许会告诉你一些事情。这真的很奇怪,你是余烬社区的成员吗?如果是,请在余烬中询问。好的,我会问。非常感谢。