![]() |
Освобождение памяти
Код AS3:
Но требуемый объем памяти увеличивается. Почему? От событий отписался. |
Очевидно, GC не считает необходимым отвлекаться от пива и футбола по таким пустякам?
|
Попробуйте присвоить всем объектам null и вызвать после этого System.gc().
|
Кстати, да.
null присвоить надо. Относительно System.gc() - в рантаймовой версии плеера все равно эта функция работать не будет. |
Цитата:
Цитата:
|
память смотрю в Profiler/Memory у FD, с ней тогда ясно. Но закладка Live Objects Count показывает увеличение количества объектов TextField и Sprite с каждой перерисовкой - объясняется новой областью памяти?
trace(this.numChildren) всегда 2 Суть задачи перерисовать флешку с новыми входными данными. Подобную тему видел, но работает не очевидно. |
Попробуйте
Код AS3:
Код AS3:
|
это равносильно, цикл работает.
|
Цитата:
Когда Вы пишите new Object() - где-то выделяется кусочек памяти и в него записываются необходимые данные (описание нашего Object'а). И у нас не C++ чтобы иметь доступ к объектам. Мы можем иметь доступ только к ссылкам на объекты (переменным) когда Вы пишите var o:Object = new Object() - Вы проделываете 2 операции : 1) создаете объект 2) создете ссылку на объект когда вы пишите o = null - Вы просо говорите, что ссылка o уже не приведет нас ни к какому объекту. Как только ни одной ссылки не осталось - объект доступен для сборки gc. НО Объект от этого не удаляется - он просто доступен для удаления. Когда придет время, gc его удалит. По этому число объектов в профайлере растет |
ясно, спс, будем ждать когда придет время :)
|
| Часовой пояс GMT +4, время: 02:56. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.