Показать сообщение отдельно
Старый 08.08.2012, 13:08
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 13  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Ну да.

Кстати, опытным путем между делом выяснил занятную вещь. Если мы объявляем переменную как XMLList и присваиваем ей фрагмент содержимого другой XML-переменной, то расхода памяти не наблюдается и мы просто получаем ссылку. Однако, если мы хотим сформировать массив таких ссылок, то возникает дублирование контента.

Код AS3:
 
var original:XML = 	<original>
						<node ID="0">node0</node>
						<node ID="1">node1</node>
						<node ID="2">node2</node>
						<node ID="3">node3</node>
					</original>;
trace("totalMemory",System.totalMemory);
 
var node:XMLList = XMLList(original.node.(@ID == 1));
trace("totalMemory",System.totalMemory);
 
var nodes:Array = new Array();
for (var i:int = 0; i < 4; i++) 
{
	nodes[i] = XMLList(original.node.(@ID == i));
}
trace("totalMemory",System.totalMemory);
вывод:

Код:
totalMemory 3391488
totalMemory 3391488
totalMemory 3395584