Давно интересовал вопрос чистки памяти. Вот решил до конца разобраться раз и навсегда, надеюсь на Ваше содействие в этом вопросе.
С BitmapData все понятно, память прекрасно освобождается, проблем не возникает.
Но обычно библиотечные символы, даже если включают в себя Bitmap, все равно - это Shape.
Вот тут непонятно, каким образом заставить gc очистить память.
Провел небольшой тест.
Сначала создаю много объектов:

Код AS3:
var sprite:Sprite;
for (var i:int = 0; i < 20000; i++)
{
sprite = new Sprite();
sprite.graphics.beginFill(0xFF0000);
sprite.graphics.drawRect(0, 0, 500, 500);
sprite.graphics.endFill();
addChild(sprite);
}
После этого, памяти - 80 Мб.
Затем удаляю:

Код AS3:
var i:int = numChildren;
var sprite:Sprite;
while (i--)
{
sprite = getChildAt(i) as Sprite;
sprite.graphics.clear();
removeChild(sprite);
}
После удаления, памяти - 65 Мб.
Вот, интересно, почему очищается только небольшая часть памяти и каким образом очистить остальную?