Actionscript управление памятью? - PullRequest
4 голосов
/ 17 ноября 2010

Я видел System.gc() где-то в Интернете сегодня, и я хотел знать, рекомендуется ли его использовать в проекте Flash CS5 и почему.

Ответы [ 3 ]

4 голосов
/ 17 ноября 2010

В каждой системе сбора мусора, о которой я знаю, механизм сборки мусора был разработан для работы в фоновом режиме, как абстракция, на которую программист теоретически не должен обращать внимания. В некоторых особых ситуациях форсирование коллекции полезно, но обычно они включают прерывания (прерывания реальной машины, а не события сценария действия), сценарии тестирования / отладки или некоторые сложные задачи управления задержкой. Скорее всего, вам никогда не понадобится вызывать System.gc (), и вы можете спокойно его игнорировать.

0 голосов
/ 17 ноября 2010

System.gc () предназначен только для тестирования. Может быть удобно отслеживать использование памяти вашим приложением и вызывать System.gc (), чтобы выделить возможность любых утечек памяти.

Совет: Насколько я помню, вам нужно дважды вызывать System.gc (), чтобы заставить его немедленно собирать данные.

В документации говорится, что этот метод работает только в проигрывателе отладки.

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/System.html#gc()

Итак, подведем итог: если вы тестируете память, это очень удобно, иначе не используйте ее.

0 голосов
/ 17 ноября 2010

System.gc () доступен только в отладочной версии Flash Player и некоторых приложениях AIR.Вызов его на обычном веб-сайте под обычным проигрывателем Flash Player не будет иметь никакого эффекта и приведет к сбою.

System.gc () предназначен только для тестирования.

...