Понимание того, как работает сборщик мусора Adobe Flash Player

#flash #garbage-collection #air

#flash #сбор мусора #air

Вопрос:

Кто-нибудь может рассказать мне, как работает сборщик мусора Flash Player, пожалуйста? Не беспокойтесь о версии, даже если вы расскажете мне о GC во Flash Player 8.0, 9.0 или 10.0, это не имеет значения.

Многие статьи в Adobe Connection просто рассказывают о тех же старых вещах: деревьях, счетчиках и неопределенности времени освобождения… все, что мы знаем….

Но как насчет политик освобождения? Существуют ли пулы, подобные CLR в .NET (хорошо объясненные в MSDN), или какой-либо другой конкретный подход? Меня интересуют алгоритмы…

Спасибо.

Ответ №1:

Короче говоря, Flash Player (по крайней мере, до версии 11.2) будет:

  • Отметьте объекты развертки на основе любых сильных ссылок
  • Ссылки отслеживаются с помощью DRC (отложенный подсчет ссылок)

Лучшая статья, которую я нашел, была в блоге JPauclair, в котором подробно рассказывается:http://jpauclair.net/2009/12/23/tamarin-part-iii-current-garbage-collector-in-flash-10-0 /

Внизу он перечисляет несколько дополнительных ссылок / источников, включая серию из 3 частей Гранта Скиннера.

Ответ №2:

Грант Скиннер написал несколько хороших статей по сборке мусора и управлению ресурсами. Вы можете найти их здесь

Комментарии:

1. Да, эти статьи были полезными, я их прочитал, но все же предоставил лишь несколько подробностей… подсчет ссылок, разметка развертки и отложенное освобождение памяти с небольшим примечанием об эвристике в памяти … это все??? Ссылки на CLR GC в .NET очень точны и подробно объясняют, как это работает, какие алгоритмы используются и какие политики и стратегии рассматриваются…