![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2002
Адрес: asd
Сообщений: 85
|
Не понял!
почему GC надо вызвать именно 4 раза?! и не подряд?!! . почему не работает с 1-ого вызова?!!!!
__________________
время никого не ждёт. Последний раз редактировалось sultan_M; 22.02.2008 в 17:35. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
sultan_M, а почему какой-то хак должен работать?
Ну не работает unload так, как должен, вот и все. |
|
|||||
|
Регистрация: Jan 2002
Адрес: asd
Сообщений: 85
|
это презентация на английском языке о механизе работы GC ( Garbage Collection) . Правда, я ничего не понял
, но кажется полезнаяhttp://blogs.adobe.com/aharui/Garbag...n/GCAtomic.ppt
__________________
время никого не ждёт. |
|
|||||
|
Регистрация: Apr 2006
Сообщений: 36
|
какая связь с addFrameScript?
|
|
|||||
|
Цитата:
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Да, все так и есть.
|
|
|||||
|
Регистрация: Apr 2006
Сообщений: 36
|
я одного не понимаю - пошла религиозная война с программированием в кадрах, истоки которой видимо как раз в проблеме сборки мусора, а не лучшем стиле программирования. Но решение какое?
Допустим в неудаляемом ролике я могу просто остановить таймлайн и сделать вид что его (ролика) уже нет. Могу не использовать addFrameScript и код в кадрах. Но, черт, мне надо произвести действие после некоторой анимационной последовательности, и единственное, что остается... вместо кода в кадрах вставлять в кадры объекты, конструктор которых посылает событие? И ориентироваться о наступлении кадра по этому событию? Или опять же отслеживать по ENTER_FRAME? Единственная причина, по которой я смотрел на AS3 - это модель обработки событий, в которой скажем не обязательно лишь родительский объект мог перехватывать ROLL_OVER... В AS2 можно было самому написать класс дающий подобную функциональность, но хотелось по человечески. А получилось выходит как всегда. Кто нибудь находил на сайте adobe или в документации официальное решение - чем заменился фреймскриптинг? Какая новая парадигма в AS3? Не может же все быть только на хаках? Ну реально, это же бред! |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
addFrameScript можно юзать без особых проблем.
Надо просто иметь ввиду, что unload может просто не работать. |
|
|||||
|
Регистрация: 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 не просто может не работать а всего лишь неработает. |
|
|||||
|
Регистрация: Apr 2006
Сообщений: 36
|
Есть техника загрузки таким образом чтобы клип все же можно было удалить?
Еще - myLoader.content возвращает корень не загружаемого а загружающего swf - это нормальное поведение? Если не делать в загружаемом swf таймлайна а сделать библиотечный символ и создавать его через new - такой символ удаляется? Если создавать через new мувиклип и в него поместить Loader, то можно ли будет удалить загруженный swf удалением этого мувиклипа? Или эти способы так же бесполезны? |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:10. |
|
|
« Предыдущая тема | Следующая тема » |
|
|