Использование файла подкачки приложения Adobe Flex идет вверх! - PullRequest
2 голосов
/ 01 октября 2009

Я работаю над приложением Adobe Flex уже несколько месяцев, и оно должно работать 24 часа в сутки в течение нескольких дней (недель!). Тем не менее, теперь я вижу, что после нескольких дней непрерывной работы компьютера, на котором он работает, сообщается, что в системе недостаточно виртуальной памяти, и выдает ошибку об использовании файла подкачки. После закрытия приложения Flex использование файла подкачки снижается с 1,9 ГБ до 100 МБ (или меньше). Похоже, что он использует всю эту память и не освобождает ее, хотя я очень внимательно относился к своему приложению, чтобы не хранить огромные массивы.

Приложение делает некоторые графики и рисует много форм (чтобы смазать «датчик»), а затем избавляется от них, повторно объявляя этот объект как еще один «датчик».

Есть идеи, почему использование моего файла подкачки так высоко?!

Ответы [ 3 ]

2 голосов
/ 01 октября 2009

Вы можете использовать профилировщик в программе Flex Builder professional, чтобы увидеть, где происходит использование вашей памяти. Как упоминалось в другом постере, слушатели событий часто являются виновниками в подобных случаях, но в более общем смысле, просто потому, что вы думаете, что избавляетесь (уничтожаете или удаляете) переменную, не означает, что о ней действительно заботятся у сборщика мусора. Если какая-либо ссылка (например, прослушиватель событий) все еще существует на эту переменную (или объект), она не будет собрана. Профилировщик укажет на эти вещи.

2 голосов
/ 01 октября 2009

Скорее всего, у вас есть EventListener, которые не удаляются. Они хранят ссылки на объекты и предотвращают их сборку мусора.

0 голосов
/ 02 октября 2009

Я слышал слухи, что размещение чего-либо на сцене вызовет утечку памяти. Другими словами, вы можете быть максимально осторожны со своим кодом, но вы все равно будете терять память. Насколько я знаю, это не было подтверждено Adobe. Хорошим тестом может быть создание экземпляров Shape, Sprite и MovieClip, добавление их в список отображения и запуск приложения в одночасье. Хотелось бы услышать результаты, если вы закончите тестировать это.

...