![]() |
Как вернуть виртуальную память
Доброго времени. Написан код на AS3. Код работает в контейнере и отображается в Win32 приложении Delphi, используется ExternalInteface. Часть объектов сцены создана статически, часть создается динамически. Пока приложение никто не трогает память не течет, как только происходит действие начинает течь именно виртуальная память. Прочел все со словами GС и штуки c принудительным его запуском. Написал код
Код AS3:
Механизм Код AS3:
System.totalMemory при работе в плэйере пишет похожий на правду результат а в контейнере непонятные цифры, может из за это GC и не запускается? |
Принудительный вызов мусорщика не удалит из памяти ничего, если удалять нечего. Кроме того, есть System.gc() и не нужно этих извращений с LC - они в релизном плеере все равно не работают :) А проверять надо флексовым профайлером, т.как все остальные способы - долго, мучительно, и однозначо все равно не определите.
|
вопрос изменился....оказывается GC правильно работает и вообще работает только если запускать в самом плэйере, а в контейнере неверно определяет память процесса и не запускает GC
Добавлено через 12 минут скажу больше - IE использует Flash9c.ocx - ошибка при определении памяти числа какие то странные - от 2- до 3-ки, GC не запускается, Firefox - сам играет flash, память определяет правильно GC запускается. Проблема в Adobe ActiveX компоненте. Поменял на 10 плэйер, все тоже самое. |
|
в 10-ом плеере есть возможность запустить GC в релизной версии без шаманства с LC: http://www.flasher.ru/forum/blog.php?b=83
может так попробовать |
Скайпа не стоит, System.gc() - не видно работы. Течет таки ocx, т.к. проблемы только у тех процессов которые загружают ocx и работают через ActiveX.
|
| Часовой пояс GMT +4, время: 08:12. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.