#actionscript-3 #optimization #tween
#actionscript-3 #оптимизация #анимация
Вопрос:
Каков наилучший способ очистки после подростков в AS3, независимо от того, какую библиотеку вы используете (или встроенные классы анимации). Существует ли лучшая практика или она специфична для каждой библиотеки анимации?
Комментарии:
1. Я почти уверен, что это более специфично для каждой библиотеки. TweenMax довольно оптимизирован сам по себе и хорошо справляется с очисткой после себя. Ознакомьтесь со сравнениями тестов скорости — ссылка . Если у вас много повторяющихся tweens, использование пула объектов или повторное использование объектов tween может помочь в оптимизации.
2. Это то, что я думал, но мне сказали убирать за моими подростками … для TweenMax я думал, что это означает использование метода kill (), но теперь я просто в замешательстве;-(
3. Говоря о «повторном использовании», вы имеете в виду создание экземпляра, а затем его повторный вызов?
4. Точно. Повторное использование этого экземпляра, скорее всего, оптимизирует ваше приложение. Для TweenMax вы также можете использовать OverwriteManager — http://www.greensock.com/overwritemanager / .
Ответ №1:
Если под «очистить» вы подразумеваете очистить память, используемую для анимации во flash, попробуйте
System.gc();
чтобы запустить сборку мусора. Он удалит все, что не используется или потеряло ссылку.
Переработка также является хорошей идеей, хотя это сильно зависит от вашего стиля кодирования и фактического проекта.
Для получения дополнительной информации о сборке мусора смотрите ссылку.
Комментарии:
1. Там написано, что system.gc работает только для AIR, это просто обычная флэш-версия.
2. Насколько я знаю, это работает для flash. Я даже использую его. Проверьте (ссылку)[ livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/system /… . Написано: «Версии среды выполнения: AIR 1.0, Flash Player 9.0.115.0» Это означает, что как в AIR, так и в плеере. Также, что из 9.0 касается проигрывателя.