![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
|
Давно интересовал вопрос чистки памяти. Вот решил до конца разобраться раз и навсегда, надеюсь на Ваше содействие в этом вопросе.
С BitmapData все понятно, память прекрасно освобождается, проблем не возникает. Но обычно библиотечные символы, даже если включают в себя Bitmap, все равно - это Shape. Вот тут непонятно, каким образом заставить gc очистить память. Провел небольшой тест. Сначала создаю много объектов: 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); } Затем удаляю: var i:int = numChildren; var sprite:Sprite; while (i--) { sprite = getChildAt(i) as Sprite; sprite.graphics.clear(); removeChild(sprite); } Вот, интересно, почему очищается только небольшая часть памяти и каким образом очистить остальную?
__________________
Griver Последний раз редактировалось mre; 06.02.2009 в 16:01. |
![]() |
Часовой пояс GMT +4, время: 03:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|