![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Modus ponens
|
Если это и есть весь код, то зачем же ГК включаться? Я думаю, что если попробовать в слушателе делать какие-нибудь операции с массивом, то ГК когда-нибудь все-таки сработает, а так никаких изменений во флешке не происходит, так и ГК незачем включаться...
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Oct 2007
Сообщений: 78
|
блин а кроме профайлера можно как нить всетаки посмотреть что там в памяти копиться....отследить щас не могу, а память копиться
![]() |
|
|||||
|
Регистрация: Oct 2007
Сообщений: 78
|
вот здесь
http://x-geom.net/blog/?p=48 описано как можно пользоваться профайлером для внешних флэшек, отак я чет не нашел пункта profile ![]() версия у меня flex 3.0 professional все запустил профайлер....смотрю, красивый график вверху и табличку. Но нифига пока не понимаю, память растет....почему растет непонятно. Обратил внимание что число *commulative instances* класса Socket постоянно растет но объект этого класса я содзаю один раз в конструкторе флэшки, чтобы общатся с сокетом. Каким макаром еще экземлпяры класса Socket создаются я не понимаю. Хотя память на этот обэект сокета не растет....может это и нормально. Вообщем не очень понятно как с этим профайлером работать. Данные таблицы на сколько я вижу отличаются от графика... Может отдельную тему создать по работе с профайлером? ![]() Последний раз редактировалось kia007; 09.12.2008 в 19:41. |
|
|||||
|
Modus ponens
|
Вот, посмотри еще по этому линку описание:
http://livedocs.adobe.com/flex/3/htm...rofiler_3.html (и по линку из коментов на той же странице, там ссылка на пакедж-функции пакета flash.sampler) А тут объяснение по интерфейсу (с картинками) http://labs.adobe.com/wiki/index.php...mory_Profiling
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 28
|
Сборщик мусора (преславутый System.gc(); ) в Action Script подобен тому, что используется в Java - все-таки одна спецификация. Его работа - удалять те объекты, на которые программа больше не ссылается. То есть если количество ссылок на объект стало равно 0 - освободить память по адресу объекта. Происходит это автоматически а вызов при правильной архитектуре программы не требуется нигде. Он всего-лишь "напоминает" сборщику начать действовать. А начнет-ли он или нет - это его решение. В java, и в особенности МЕ (для мобильников) вызов System.gc() задействуется только в алгоритмах с очень динамичным распределением/освобождением памяти, так как такты проверки объектов сборщиком сильно растянуты по времени. Он может просто "проглазеть" появление неадресованного обьекта.
А автоматически сборщик запускается, только если памяти ну совсем становиться в обрез. |
|
|||||
|
Регистрация: Oct 2007
Сообщений: 78
|
var str:String = ""; try { for (var i:int = 0; i < list.length; i++) { str += "<font color='#521017'>[" + list[i].Level + "]</span> <a href='event:" + list[i].Username + "'>" + list[i].UsernameHtml(true) +"</a>" + " (<b><a href='" + m_hostName + list[i].PlayerLink + "' class='style2' target='_blank'>i</a></b>)" + "<br>"; } } catch(_e:Error) { } m_comp.TextfieldUsersList.htmlText = str; m_comp.ScrollBar2.update(); m_comp.ScrollBar2.scrollPosition = m_chat_s.ScrollBar2.scrollPosition; str = null; |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 28
|
А вы уверены, что в try не срабатывает никаких эксепшенов?
|
|
|||||
|
Регистрация: Oct 2007
Сообщений: 78
|
срабатывают.
но что при этом вы памяти то остается? Вообщем так и непонятно почему из за try catch память сжиралась... Последний раз редактировалось kia007; 10.12.2008 в 13:45. |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:38. |
|
|
« Предыдущая тема | Следующая тема » |
|
|