Ну да.
Кстати, опытным путем между делом выяснил занятную вещь. Если мы объявляем переменную как 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