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

Регистрация: Oct 2012
Сообщений: 12
По умолчанию Вопрос по освобождению памяти

Есть некий класс TEST, который передаёт ссылку на свой метод в другой класс OTHER. Этот метод будет вызван внутри класса OTHER после выполнения запроса на сервер. Так вот, может ли быть удалён объект класса TEST, если на него никто не ссылается, но при этом один из объектов хранит ссылку на его метод?

То есть, может ли быть такое, что пока выполняется запрос, сборщик мусора удалит объект TEST, а потом объект OTHER обратится к несуществующему методу onRequestComplete и произойдёт ошибка?

Код AS3:
class Test
{
    function Test()
    {
       Other.instance.request(onRequestComplete);
    }
 
    function onRequestComplete():void
    {
     ...
    }
}