User's collector

Внимание!   Данная опция будет доступна только после того, как вы авторизуетесь.
   запомнить меня 
5 августа 2008

Что нужно сделать перед тем, как выгрузить из приложения ранее загруженный SWF файл

С любезного разрешения Колина Мука (Colin Moock) публикую свой вольный перевод его статьи «Things you must do before unloading a SWF file». Дальнейшее повествование пойдет от имени Колина.

Если вы загрузили SWF-файл, содержащий ActionScript 3, во Flash Player 9 и теперь хотите удалить его из памяти, то вы должны перед этим его деактивировать. Иначе этот файл так и будет продолжать занимать ресурсы, и в некоторых случаях не подвергнется удалению Garbage Collector-ом.

Ниже представлен неофициальный список действий, проведение которых необходимо для деактивации SWF файла:

  • Удалите ссылки на используемые внутренние ресурсы файла.
  • Остановите все проигрываемые звуки.
  • Остановите главный таймлайн ролика, если он проигрывается в настоящий момент.
  • Остановите все проигрываемые в настоящий момент внутренние мувиклипы файла.
  • Закройте соединения всех сетевых объектов, вроде экземпляров Loader, URLLoader, Socket, XMLSocket, LocalConnection, NetConnection и NetStream.
  • Обнулите все ссылки во внутренних объектах ролика на камеры и микрофоны.
  • Отпишите все функции-слушатели в SWF-файле от получения событий (особенно от Event.ENTER_FRAME и событий клавиатуры).
  • Остановите все запущенные в настоящий момент интервалы при помощи функции clearInterval().
  • Остановите все объекты Timer вызовом метода Timer.stop().

Помните, что представленный список по определению не является полным, так как он не был официально утвержден Adobe и, следовательно, не может являться исчерпывающим. Если вы знаете еще действия, которыми можно пополнить этот список, то присылайте их мне не почту (пользователь colin, домен moock.org).

Что касается Flash Player 10, то там вышеперечисленные действия можно выполнить автоматически вызовом метода unloadAndStop() класса Loader.

Для дальнейшего ознакомления с этой темой, смотрите вторую главу моей статьи «The Charges Against ActionScript 3.0», опубликованную на сайте Inside RIA и статью Гранта Скиннера «Additional Information on Loader.unloadAndStop()».

Теги:


3 комментария к записи:

popklop [ 7 августа , 2008 в 19:47 ]

Очень познавательно. Спасибо.

Юрий Яровой [ 11 августа , 2008 в 16:58 ]

Не за что. Самому статья показалась интересной. =)

Максим [ 22 сентября , 2008 в 15:57 ]

С десяткой действительно легче.