![]() |
Если это и есть весь код, то зачем же ГК включаться? Я думаю, что если попробовать в слушателе делать какие-нибудь операции с массивом, то ГК когда-нибудь все-таки сработает, а так никаких изменений во флешке не происходит, так и ГК незачем включаться...
|
Попробовал. Результат тот же самый. Флэш-приложение съело у меня 1/3 всей памяти и не чистит ее, хотя память уже не используется.
|
блин а кроме профайлера можно как нить всетаки посмотреть что там в памяти копиться....отследить щас не могу, а память копиться:(
|
Нет, вряд ли... только исключать разные участки кода и смотреть что получится.
|
вот здесь
http://x-geom.net/blog/?p=48 описано как можно пользоваться профайлером для внешних флэшек, отак я чет не нашел пункта profile:) версия у меня flex 3.0 professional все запустил профайлер....смотрю, красивый график вверху и табличку. Но нифига пока не понимаю, память растет....почему растет непонятно. Обратил внимание что число *commulative instances* класса Socket постоянно растет но объект этого класса я содзаю один раз в конструкторе флэшки, чтобы общатся с сокетом. Каким макаром еще экземлпяры класса Socket создаются я не понимаю. Хотя память на этот обэект сокета не растет....может это и нормально. Вообщем не очень понятно как с этим профайлером работать. Данные таблицы на сколько я вижу отличаются от графика... Может отдельную тему создать по работе с профайлером?:) |
Вот, посмотри еще по этому линку описание:
http://livedocs.adobe.com/flex/3/htm...rofiler_3.html (и по линку из коментов на той же странице, там ссылка на пакедж-функции пакета flash.sampler) А тут объяснение по интерфейсу (с картинками) http://labs.adobe.com/wiki/index.php...mory_Profiling |
Сборщик мусора (преславутый System.gc(); ) в Action Script подобен тому, что используется в Java - все-таки одна спецификация. Его работа - удалять те объекты, на которые программа больше не ссылается. То есть если количество ссылок на объект стало равно 0 - освободить память по адресу объекта. Происходит это автоматически а вызов при правильной архитектуре программы не требуется нигде. Он всего-лишь "напоминает" сборщику начать действовать. А начнет-ли он или нет - это его решение. В java, и в особенности МЕ (для мобильников) вызов System.gc() задействуется только в алгоритмах с очень динамичным распределением/освобождением памяти, так как такты проверки объектов сборщиком сильно растянуты по времени. Он может просто "проглазеть" появление неадресованного обьекта.
А автоматически сборщик запускается, только если памяти ну совсем становиться в обрез. |
Код AS3:
|
А вы уверены, что в try не срабатывает никаких эксепшенов?
|
срабатывают.
но что при этом вы памяти то остается? Вообщем так и непонятно почему из за try catch память сжиралась... |
| Часовой пояс GMT +4, время: 22:04. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.