PDA

Просмотр полной версии : утечка памяти в setInterval и других функциях цикла


Agro
26.05.2008, 14:51
У меня такой вопрос, чем лучше пользоваться исходя из требования минимальной утечки памяти для запуска цикла с нужной мне частотой setInterval, setTimeout или классом Timer и как бороться с этой утечкой? Проверка показала, что все функции, работающие в цикле увеличивают оперативную память, занятую флеш-приложением и чем чаще работает цикл, тем быстрее увеличивается утечка. EnterFrame мне не подходит по частоте. Заранее благодарен.

etc
27.05.2008, 01:58
Значит вы забываете отписываться или удалять интервалы.

_Smirnoff
27.05.2008, 10:25
removeEventListener
clearInterval
clearTimeout

в помощь....

Agro
27.05.2008, 16:14
В том-то и дело, что мне нужны циклы, работающие всю сесию, т.е. удаление типа:

removeEventListener
clearInterval
clearTimeout

мне не подходят. Вопрос как оставить работающие интервалы и при этом минимизировать утечку.

BlooDHounD
27.05.2008, 16:26
лично у меня ничего не утекает. скорее всего у вас утечка в самих функциях, а не в методе их зацикливания.

Agro
27.05.2008, 17:15
Это значит, что вы проверять утечки не умеете. В циклах есть утечки, это можно проверить просто, запустив пустой цикл и оследить значение System.totalMemory до начала цикла, и после его окончания.

badun
27.05.2008, 17:19
исходник в студию
и условия проявления "утечек"

etc
27.05.2008, 17:25
Это значит, что вы проверять утечки не умеете. В циклах есть утечки, это можно проверить просто, запустив пустой цикл и оследить значение System.totalMemory до начала цикла, и после его окончания.

Покажите.

Psycho Tiger
28.05.2008, 13:49
В том-то и дело, что мне нужны циклы, работающие всю сесию
То есть циклы, работающие от начала до закрытия флэшки?
Ну, вообще то это нормально, что при таком раскладе утекает память - ведь надо где то хранить эти интервалы.