В FLash AS3 использует ли расширение объекта больше памяти, даже если методы объекта не используются? - PullRequest
0 голосов
/ 20 июля 2011

Я создаю пул объектов для кэширования некоторых перерабатываемых объектов в памяти в самом начале моего приложения, чтобы избежать (насколько это возможно) проблем с производительностью, вызванных работой GC; если возможно, я бы хотел минимизировать память, которую резервирует мой пул объектов, поэтому я пытаюсь объединить универсальные формы объектов (без методов), а затем приведу универсальные варианты к более конкретным и сложным типам объектов, которые расширяют универсальную форму когда я действительно хочу их на сцене. Проблема в том, что для этого требуется, чтобы общий вариантный класс импортировал / расширял MovieClip (поскольку более сложные объекты сами являются MovieClips и используют методы DisplayObject) - просто импортирует и / или расширяет класс, добавляя в память объект занимает при создании экземпляра, даже если он никогда не использует методы из унаследованного класса? Это имеет смысл, и какое-то легкое профилирование, кажется, предполагает, что это так, но я не уверен на 100%. Насколько большим должен быть «пустой» экземпляр MovieClip в байтах?

спасибо, CCJ

1 Ответ

0 голосов
/ 20 июля 2011

Я бы сказал нет, по крайней мере, незначительно. Если это немного, то вряд ли это будет проблемой для вас. В любом случае, в памяти есть только одна «копия» байт-кода, размер отдельного объекта будет зависеть от количества и типа свойств, фактический код в него не входит.

...