Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.02.2008, 17:30
sultan_M вне форума Посмотреть профиль Отправить личное сообщение для sultan_M Найти все сообщения от sultan_M
  № 11  
Ответить с цитированием
sultan_M

Регистрация: Jan 2002
Адрес: asd
Сообщений: 85
Не понял!
почему GC надо вызвать именно 4 раза?! и не подряд?!! . почему не работает с 1-ого вызова?!!!!
__________________
время никого не ждёт.


Последний раз редактировалось sultan_M; 22.02.2008 в 17:35.
Старый 22.02.2008, 18:50
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 12  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
sultan_M, а почему какой-то хак должен работать?
Ну не работает unload так, как должен, вот и все.

Старый 22.02.2008, 23:08
sultan_M вне форума Посмотреть профиль Отправить личное сообщение для sultan_M Найти все сообщения от sultan_M
  № 13  
Ответить с цитированием
sultan_M

Регистрация: Jan 2002
Адрес: asd
Сообщений: 85
это презентация на английском языке о механизе работы GC ( Garbage Collection) . Правда, я ничего не понял , но кажется полезная

http://blogs.adobe.com/aharui/Garbag...n/GCAtomic.ppt
__________________
время никого не ждёт.

Старый 22.02.2008, 23:36
akerka вне форума Посмотреть профиль Отправить личное сообщение для akerka Найти все сообщения от akerka
  № 14  
Ответить с цитированием
akerka
 
Аватар для akerka

Регистрация: Apr 2006
Сообщений: 36
какая связь с addFrameScript?

Старый 22.02.2008, 23:49
fljot вне форума Посмотреть профиль Отправить личное сообщение для fljot Найти все сообщения от fljot
  № 15  
Ответить с цитированием
fljot

блогер
Регистрация: Jul 2007
Сообщений: 940
Записей в блоге: 3
Цитата:
Сообщение от akerka
какая связь с addFrameScript?
да поправит меня __etc, если я ошибаюсь, но вроде тот трейс, прописанный в первом кадре загружаемого ролика, при компиляции автоматически эээм добавлялся при помощи недокументированного addFrameScript (который судя по всему и мешал полному удалению из памяти)

Старый 22.02.2008, 23:53
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 16  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Да, все так и есть.

Старый 23.02.2008, 00:22
akerka вне форума Посмотреть профиль Отправить личное сообщение для akerka Найти все сообщения от akerka
  № 17  
Ответить с цитированием
akerka
 
Аватар для akerka

Регистрация: Apr 2006
Сообщений: 36
я одного не понимаю - пошла религиозная война с программированием в кадрах, истоки которой видимо как раз в проблеме сборки мусора, а не лучшем стиле программирования. Но решение какое?
Допустим в неудаляемом ролике я могу просто остановить таймлайн и сделать вид что его (ролика) уже нет.
Могу не использовать addFrameScript и код в кадрах. Но, черт, мне надо произвести действие после некоторой анимационной последовательности, и единственное, что остается... вместо кода в кадрах вставлять в кадры объекты, конструктор которых посылает событие? И ориентироваться о наступлении кадра по этому событию? Или опять же отслеживать по ENTER_FRAME?
Единственная причина, по которой я смотрел на AS3 - это модель обработки событий, в которой скажем не обязательно лишь родительский объект мог перехватывать ROLL_OVER... В AS2 можно было самому написать класс дающий подобную функциональность, но хотелось по человечески. А получилось выходит как всегда.
Кто нибудь находил на сайте adobe или в документации официальное решение - чем заменился фреймскриптинг? Какая новая парадигма в AS3? Не может же все быть только на хаках? Ну реально, это же бред!

Старый 23.02.2008, 00:26
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 18  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
addFrameScript можно юзать без особых проблем.
Надо просто иметь ввиду, что unload может просто не работать.

Старый 23.02.2008, 01:04
akerka вне форума Посмотреть профиль Отправить личное сообщение для akerka Найти все сообщения от akerka
  № 19  
Ответить с цитированием
akerka
 
Аватар для akerka

Регистрация: Apr 2006
Сообщений: 36
__etc, это как сказать что в C++ может всего лишь не работать delete.
addFrameScript действительно не источник проблемы. Сделал чистый клип - только звуковая дорожка осталась. Убрал весь код начисто. загрузку и удаление поместил в одну функцию:
Код:
myLoader=new Loader();
myLoader.load(new URLRequest('my.swf'));
addChild(myLoader);
myLoader.unload();
removeChild(myLoader);
myLoader = null;
System.gc();
То есть и так и сяк пытаюсь удалить объект. Без толку - не пристутствует на экране но продолжает себе жить и работать - о чем свидетельствует проигрываемый звук.
Листенеров нет, кода нет- даже на Loader листенеров не подвешено. Значит unload не просто может не работать а всего лишь неработает.

Старый 23.02.2008, 01:10
akerka вне форума Посмотреть профиль Отправить личное сообщение для akerka Найти все сообщения от akerka
  № 20  
Ответить с цитированием
akerka
 
Аватар для akerka

Регистрация: Apr 2006
Сообщений: 36
Есть техника загрузки таким образом чтобы клип все же можно было удалить?
Еще - myLoader.content возвращает корень не загружаемого а загружающего swf - это нормальное поведение?
Если не делать в загружаемом swf таймлайна а сделать библиотечный символ и создавать его через new - такой символ удаляется?
Если создавать через new мувиклип и в него поместить Loader, то можно ли будет удалить загруженный swf удалением этого мувиклипа?

Или эти способы так же бесполезны?

Создать новую тему Ответ Часовой пояс GMT +4, время: 14:07.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 14:07.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.