![]() |
|
||||||||||
|
|||||
|
olexandr, то есть, если ссылка на другой объект через свойство первого объекта сохраняется в другом объекте - первый будет удален из памяти.
Тогда в случае с loader, сам loader мог бы быть удален, а значение bitmap и byteArray сохранилось бы. Вернусь к Вашему примеру, а именно в второй строчке значение присваивается, но это не ссылка на arr[0], если я не ошибаюсь, arr должен удалится, а вот если это ссылка на одно из свойств объекта, то ссылка ведет на тот участок памяти в котором и есть наш объект по ссылке, и при следующем обращении к bitmap мы обращаемся напрямую к объекту типа данных Bitmap минуя loader и его свойство loaderInfo, и это значит, что loader может быть удален со своими свойствами сохраняя при этом bitmap, но тогда зачем такое удаление объекта, если все что с ним связано не удаляется полностью. Тогда вообще не понятно, что удаляется. Или удаляется, то что не было сохранено прежде по ссылке через loader, а все остальное прежде в памяти будет сидеть. Пожалуйста, уважаемые форумчане, укажите путь праведный. Я уже сам запутался и в одиночку не разберусь. olexandr, вот еще, если сделать вот так: 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. |
![]() |
Часовой пояс GMT +4, время: 23:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|