Как разрешить GC перерабатывать ОЗУ mxml, когда я не хочу его использовать? - PullRequest
1 голос
/ 18 сентября 2009

Я считаю, что Flex требует больше оперативной памяти, чем Flash, я использую Flex Profiling для его отслеживания, я не знаю, почему GC не перерабатывает объект mxml, когда я не хочу его использовать?

Ответы [ 2 ]

1 голос
/ 18 сентября 2009

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

Итак, установите любое из ваших свойств на null, установите любые связанные свойства на null, сохраните его, и вы обязаны (har) найти виновника.

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

Итак, либо есть шальная ссылка, либо GC просто еще не включился.

0 голосов
/ 18 сентября 2009

Если у вас есть профессиональная версия Flex Builder, вы можете использовать профилировщик памяти, чтобы найти рассматриваемый объект и посмотреть, как он привязан к графу объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...