2010-11-17 4 views
4

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

+0

вам следует искать похожие вопросы о Flex вместо actionscript. Я уверен, что вы найдете существующие ответы по этому вопросу (GC in Flash). –

ответ

4

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

+1

Плюс, афайк, невозможно форсировать gc на сборке релизов, все автоматизировано, и все, что вы можете сделать, это удалить всех ненужных слушателей и подобных материалов. – Maurycy

0

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

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

0

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

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

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

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

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

Смежные вопросы