ich versucht, ein Ember Objekt erstellenWarum ein leeres Ember Objekt zu tun haben diese eine beibehaltene Größe von ~ 500
c = Em.Object.create();
und überprüft das Speicherabbild dieses
Er schlägt vor, um zu sehen, mit eine flache Erinnerung von 24 und bewahrte Erinnerung von 524. Meine Frage ist, ist dies etwas in Bezug auf die Erinnerung, wenn ich etwa 500 solcher Ember-Objekte in einem Controller behalte.
Also lassen Sie uns sagen, ich habe einen Controller mit 500 Ember Objekte im Array content
, dann ist die momory Dump sieht wie folgt aus:
Hier wird jedes Element in einem Array hat eine Größe 524 beibehalten, und die Controller hat eine große beibehaltene Größe von 268088 als Ergebnis. Ist das wirklich ein Problem?
Ich bezweifle, wenn alle Ember-Objekte beziehen sich auf die gleichen 524bytes eines gemeinsamen Objekts von jedem von ihnen bezeichnet.
Wenn die Entwickler von emberjs einen guten Job gemacht haben, dann teilen alle Objekte die gleichen Methoden (über das prototype-Attribut), also gibt es zumindest die Objekt-Methoden für alle Objekte, nicht für jede von ihnen. Das Festlegen von Methoden mit dem Attribut prototype wird immer im Hinblick auf den Speicherverbrauch empfohlen. Nichtsdestotrotz hat jedes Objekt seine eigenen Werte wie zum Beispiel Name oder ID, die für jedes Objekt auch Speicher verbraucht. – Blauharley