![]() |
Чистим память от Graphics
Давно интересовал вопрос чистки памяти. Вот решил до конца разобраться раз и навсегда, надеюсь на Ваше содействие в этом вопросе.
С BitmapData все понятно, память прекрасно освобождается, проблем не возникает. Но обычно библиотечные символы, даже если включают в себя Bitmap, все равно - это Shape. Вот тут непонятно, каким образом заставить gc очистить память. Провел небольшой тест. Сначала создаю много объектов: Код AS3:
Затем удаляю: Код AS3:
Вот, интересно, почему очищается только небольшая часть памяти и каким образом очистить остальную? |
Никаким. Это мифический GC должен делать.
Я вот похожие вопросы задавал: http://www.flasher.ru/forum/showthre...hlight=garbage http://www.flasher.ru/forum/showthre...EE%F0%F9%E8%EA |
Никак, провёл этот же тест с использование профайлера флексового:
При создании спрайтов 8 мб памяти занято;) После удаления также 8 мб(gc не запустился). Потом профайлером запускаю GC и получаю полное очищение оперативы. Вердикт - чтоб очистить оперативу, мы можем только сходить покурить в надежде что память очистится за это время:) |
GC вызывается при достижении порога свободной памяти.
А сейчас вы лишь подготовили почву для очистки памяти. |
Цитата:
|
Ну так еще 2/3 есть :)
Добавлено через 7 минут Код AS3:
Цитата:
Раскомментарем три строки, где происходит насильный вызов GC Цитата:
|
Код AS3:
|
Я в Flash IDE это тестировал, лень было в FD проект закрывать.
|
А что, есть разница? Я в FD тестировал.
|
Запросто.
|
| Часовой пояс GMT +4, время: 03:27. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.