3

В дополнение к меток-и-развертки сборщики мусора для .Net и Java также запускают фазу уплотнения, чтобы сократить фрагментацию памяти. Я не могу найти какую-либо документацию по фазе уплотнения/дефрагментации для сборщика мусора Flash 9. У Flash нет фазы уплотнения?Фрагментация памяти Flash/ActionScript

ответ

2

Ну, я был довольно глубоко в вопросах управления памятью, и я общался с инженерами Adobe об этом, и я никогда не слышал упоминания о фазе дефрагментации. С другой стороны, кажется маловероятным, что они оставят это, и я, конечно, видел, как мое общее использование памяти сократилось после GC, как вы ожидали, если бы была фаза дефрагментации. Поэтому я бы сказал, что, вероятно, такая фаза.

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

3

Виртуальная машина для AS3, используемая Adobe во Flash, является открытым исходным кодом.

http://www.mozilla.org/projects/tamarin/

Диспетчер памяти для виртуальной машины, называется MMgc, входит в этот исходный код.

MMgc обеспечивает несъемный коллектор; после выделения объекты не перемещаются коллекционером. Это означает, что фаза уплотнения отсутствует.

Дополнительная документация по MMgc доступна здесь:

https://developer.mozilla.org/en/mmgc

Некоторые из более поздних работ документируется в каталоге документации репозитория-источника:

http://hg.mozilla.org/tamarin-redux/file/tip/doc/mmgc