【发布时间】:2013-08-13 11:53:52
【问题描述】:
我尝试使用创建 Ember 对象
c = Em.Object.create();
并检查内存转储以查看此内容
它表明 24 的浅层内存和 524 的保留内存。我的问题是,如果我在控制器中保留大约 500 个这样的 Ember 对象,这在内存方面是否值得担心。
假设我有一个控制器,在数组content 中有 500 个 Ember 对象,那么内存转储看起来像这样:
这里数组中的每一项都有 524 的保留大小,因此控制器的保留大小很大,为 268088。这真的是个问题吗?
我怀疑是否所有的 Ember 对象都引用了它们各自引用的相同 524 字节的某些公共对象。
【问题讨论】:
-
当 emberjs 的开发者做得很好时,所有对象都共享相同的方法(通过原型属性制作),所以至少所有对象都只有对象方法,而不是每个对象他们。就内存消耗而言,始终建议使用原型属性定义方法。然而,每个对象都有自己的值,例如名称或 ID,它们也会为每个对象消耗内存。
标签: javascript memory ember.js google-chrome-devtools