Показать сообщение отдельно
Старый 28.01.2011, 22:09
VitaliyKrivtsov вне форума Посмотреть профиль Отправить личное сообщение для VitaliyKrivtsov Посетить домашнюю страницу VitaliyKrivtsov Найти все сообщения от VitaliyKrivtsov
  № 5  
Ответить с цитированием
VitaliyKrivtsov
 
Аватар для VitaliyKrivtsov

блогер
Регистрация: Apr 2010
Сообщений: 99
Записей в блоге: 5
Отправить сообщение для VitaliyKrivtsov с помощью ICQ Отправить сообщение для VitaliyKrivtsov с помощью Skype™
olexandr, то есть, если ссылка на другой объект через свойство первого объекта сохраняется в другом объекте - первый будет удален из памяти.
Тогда в случае с loader, сам loader мог бы быть удален, а значение bitmap и byteArray сохранилось бы.
Вернусь к Вашему примеру, а именно в второй строчке
Код AS3:
var arr:Array = [0,1,2];
var a:int = arr[0];
значение присваивается, но это не ссылка на arr[0], если я не ошибаюсь, arr должен удалится,
а вот если это ссылка на одно из свойств объекта, то ссылка ведет на тот участок памяти в котором и есть наш объект по ссылке, и при следующем обращении к bitmap мы обращаемся напрямую к объекту типа данных Bitmap минуя loader и его свойство loaderInfo, и это значит, что loader может быть удален со своими свойствами сохраняя при этом bitmap, но тогда зачем такое удаление объекта, если все что с ним связано не удаляется полностью. Тогда вообще не понятно, что удаляется. Или удаляется, то что не было сохранено прежде по ссылке через loader, а все остальное прежде в памяти будет сидеть.
Пожалуйста, уважаемые форумчане, укажите путь праведный. Я уже сам запутался и в одиночку не разберусь.
olexandr, вот еще, если сделать вот так:
Код AS3:
 var oneArray:Array = new Array("a", "b", "c");
 var twoArray:Array = oneArray;// ссылка на oneArray
 oneArray = null;            
 trace(twoArray); // Output: a, b, c, но мы же удалили oneArray, а значения  twoArray выводятся так как  
 // будто ничего и не происходило, oneArray хоть и был занулен, но так и не удалился поскольку ссылка на // него есть
Что в таком случае делать вообще не знаю, массив не удалится из памяти.
dimarik,
это тот не приятный случай когда первый объект ссылается на второй, а второй на первый, при котором даже зануление не поможет.


Последний раз редактировалось VitaliyKrivtsov; 28.01.2011 в 22:11.