Здравствуйте.
имеем [CENSORED]
в левом верхнем углу там видно System.totalMemory.
перемещаясь по portfolio, можно легко убедиться, что System.totalMemory все время возрастает. когда доходит дело до видео то вообще.
водскажите пожалуйста, что я делаю не так?
класс для объекта галереи:

Код AS3:
package portfolio{
import flash.events.*;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.display.MovieClip;
import flash.net.URLRequest;
public class portfolioPicture extends flash.display.MovieClip{
public var _picture:pic,
loadDone:Boolean,
under:MovieClip,
preloader:MovieClip,
pictureLoader:Loader,
bu:transB;
public function portfolioPicture(initPic:pic){
////////////////////////////////////////
_picture=new pic;
_picture=initPic;
x=_picture.__x;
y=_picture.__y;;
////////////////////////////////////////
under=new trans;
var ram:int=6;
with(under){
x=-ram;
y=-ram;
width=_picture.__width+ram*2;
height=_picture.__height+ram*2;
name="Underlay";
}
this.addChild(under);
////////////////////////////////////////
loadDone=false;
preloader=new picPreload;
preloader.x=_picture.__width/2;
preloader.y=_picture.__height/2;
preloader.scaleX=preloader.scaleY=.2;
preloader.name="Preloader";
addChild(preloader);
pictureLoader = new Loader();
pictureLoader.load(new URLRequest(_picture.__url));
pictureLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, _loaded,false,0,true);
pictureLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, _progress,false,0,true);
pictureLoader.name="Loader";
addChild(pictureLoader);
////////////////////////////////////////
if(_picture.__isButton) {
bu=new transB;
bu.name="Button";
bu.width=_picture.__width,bu.height=_picture.__height;
bu.addEventListener(MouseEvent.MOUSE_DOWN,mousedown,false,0,true);
addChild(bu);
}
////////////////////////////////////////
this.addEventListener(Event.REMOVED_FROM_STAGE,removedEvent,false,0,true);
}
function removedEvent(ev:Event){
this.removeEventListener(Event.REMOVED_FROM_STAGE, removedEvent);
destroy();
}
function mousedown(e:MouseEvent){
(parent.parent as MovieClip)._lagrePic(_picture.__chapter,_picture.__part,_picture.__num);
}
function _loaded(e:Event){
loadDone=true;
stopLoadingProgress();
pictureLoader.width=_picture.__width;
pictureLoader.height=_picture.__height;
}
function _progress(e:ProgressEvent){
var tk:int=e.target.bytesLoaded/e.target.bytesTotal*100;
preloader.indicate(tk);
}
function destroy(){
stopLoader();
while(numChildren) removeChildAt(0);
if(_picture.__isButton) bu.removeEventListener(MouseEvent.MOUSE_DOWN,mousedown);
_picture=null,under=null,bu=null;
//trace("portfolio picture completely destroyed")
}
function stopLoader(){
if(pictureLoader) {
removeChild(pictureLoader);
if(loadDone){
pictureLoader.unload();
} else {
pictureLoader.close();
pictureLoader.unload();
stopLoadingProgress();
}
}
pictureLoader=null;
}
function stopLoadingProgress(){
pictureLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, _loaded);
pictureLoader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS,_progress);
removeChild(preloader);
preloader=null;
}
}
}
класс для группы тумбнейлов:

Код AS3:
package portfolio{
import flash.display.MovieClip;
import flash.events.Event;
public class portfolioThumbs extends flash.display.MovieClip{
public function portfolioThumbs(partToBeDrawn:poItem){
for(var n=0;n<partToBeDrawn.thumbs.length;n++){
var thu:portfolioPicture=new portfolioPicture(partToBeDrawn.thumbs[n]);
thu.name=("thumb_N_"+n);
this.addChild(thu);
}
this.addEventListener(Event.REMOVED_FROM_STAGE,removedEvent,false,0,true);
}
function removedEvent(ev:Event){
this.removeEventListener(Event.REMOVED_FROM_STAGE, removedEvent);
destroy();
}
function destroy(){
while(numChildren>0) removeChild(getChildAt(0));
//trace("thumbnails destroyed");
}
}
}