Показать сообщение отдельно
Старый 12.03.2013, 14:07
bookworm вне форума Посмотреть профиль Отправить личное сообщение для bookworm Найти все сообщения от bookworm
  № 3  
Ответить с цитированием
bookworm

Регистрация: Sep 2001
Адрес: Россия, Москва
Сообщений: 67
Я ошибся, полагая, что Loader.load(new URLRequest(url:String), null) - это самостоятельные домены для каждой загруженной. На самом деле - так, но с учетом того, что родительский домен будет соответствовать домену родительской SWF.

Т.е. это тоже самое что
1. Loader.load(new URLRequest(url:String), new LoaderContext(false, new ApplicationDomain(ApplicationDomain.currentDomain)))
Это как раз тот случай, про который вы говорите. Дочерняя SWF получит доступ к классам родительской через getDefintionName(). А если я определяю класс и там и там, то будет использоваться родительский в дочерней SWF. Поэтому статика и работает.

А полностью самостоятельный домен для дочерней SWF - это:
2. Loader.load(new URLRequest(url:String), new LoaderContext(false, new ApplicationDomain()))
А вот тут через getDefintionName() не добраться.

Ну и соответственно в общий домен, это:

3. Loader.load(new URLRequest(url:String), new LoaderContext(false, ApplicationDomain.currentDomain))

Но странно! В случае 1 память освобождается от определений классов, а вот в случае 2 (отдельный домен без родителя) - судя по мониторингу - нет! Почему же?! Отдельный же домен вообще.