Проблемы с памятью
Posted byProfiler в FlashDevelop показывал какой-то ужасный график потребления памяти, согласно которому у меня нещадно утекали мегабайты при каждой переигровке битвы. Я убился искать причину. Всем понаписал функции самоудаления, досканальной проверки на наличие детей и родителей, все eventListener сделал с weak reference, занулил все переменные неэлементарного типа при самоудалении объекта. и т.д. Profiler продолжал пугать, причём вёл себя очень странно и не до конца адекватно.
Вообщем, чтобы найти утечки, нужна была более мощная тулза, которая могла бы показывать текущее количество объектов в памяти, сравнивать дампы памяти, показывать количество недающих удалиться объекту strong reference, а может быть даже непосредственно объекты эти reference содержащие...
То бишь Profiler из Flash Builder.
День я потратил на то, чтобы заставить его работать. Он почему-то показывал что флеш плеер устарел, а при установке свежего с него слетала лицензия (lol wtf?) и терялся доступ к profiler. Через 10 циклов сноса и переустановки всея CS5 таки удалось заставить его работать.
Выяснилось, что память вообще-то не утекает.
По крайней мере после всех принятых мер.
Слава богу, то я уж было проклял flash и его garbage collector...

0 comments:
Post a Comment