AS3: слишком большой для сбора мусора? - PullRequest
2 голосов
/ 16 сентября 2011

Я работаю над флэш-игрой, в которой произошла очевидная утечка памяти.Я делаю то, что должен делать с GC;удалить все ссылки на объект, обнулить его, удалить всех слушателей (или использовать слабых слушателей);но утечка все еще присутствует.

Я наткнулся на эту статью: http://www.andymoore.ca/2010/03/motherfucking-as3-garbage-collection/

Он утверждает, что слишком большие объекты никогда не будут собираться мусором.Эта теория хорошо согласуется с моим проектом, поскольку вся моя игра состоит из нескольких огромных мувиклипов, которые часто создаются и уничтожаются.

Есть ли смысл утверждать, что слишком большие объекты никогда не будут собираться

Ответы [ 2 ]

3 голосов
/ 16 сентября 2011

Я работал над несколькими проектами среднего и большого размера, и описанная вами утечка, похоже, является проблемой рекурсивного удаления. Вам нужно по-настоящему проанализировать ваш объект из самого вложенного элемента и начать избавляться от этой точки (остановить, обнулить, удалить растровые данные и удалить прослушиватели).

Я предлагаю вам взглянуть на эти: Хороший профилировщик: https://code.google.com/p/flashpreloadprofiler/

Разработчик Quasimondo в пакете aviary испытывает проблему с большим растровым изображением и показывает приложение, имитирующее распределение памяти: http://www.quasimondo.com/archives/000691.php http://www.quasimondo.com/examples/memoryhog.html

Также для получения дополнительных ресурсов по вопросам GC я предлагаю вам использовать систему Adobe Jira и Bugbase: https://bugs.adobe.com/

Я не думаю, что есть какое-либо преимущество в этом утверждении. Также прочитайте комментарий Энди Мура:

Так, делая быстрый проход по смерти = нулевые коды, я наполовину уменьшил память след. Я смог отбросить это еще на 80%, комментируя все мои утверждения «.cacheAsBitmap = true».

2 голосов
/ 22 сентября 2011

Вы можете попробовать использовать SWFWire Debugger , чтобы увидеть, какие именно объекты не собираются.

Отказ от ответственности: Это мой собственный проект

...