попробую привести код. подгружаемую swf подправила немного сама - с ней не надо уже разбираться.
и в общем задача теперь такая -
надо найти утечку ресурсов. перед показом анимашек - загрузка цп - 10-15%, во время анимации вырастает до 65 (там не простая картинка), а после удаления ее - падает до 40. Хочется падения до исходного.
прошу посмотреть критически на код и помочь (особенно настораживает момент с удалением объекта с использованием ссылки target - можно ли таким образом удалять?). заранее всем спасибо!!!!!

Код AS3:
//функция в основном классе проекта. тут создается экземпляр класса PagePicture (который содержит)
//подгружаемый swf
......
//это вспомогательная переменная
private var target:DisplayObject;
......
private function onPicture():void {
_arrPic = _arrStep[_curStep].arrAction[_curAction].arrAct[_curAct].picture.arrPics;
for (var i:int = 0; i < _arrPic.length; i++)
{
var item:DPic = _arrPic[i];
//создаем экземпляр
var pPic:PagePicture = new PagePicture(_picW, _picH,
item.descrPic.Name,
item.descrPic.Text,
item.picTime * _koefSpeed,
_picX, _picY,
item.picScale);
pPic.name = "pPic";
sprMain.addChild(pPic);
//ждем исчезновения
pPic.addEventListener(PageAppearOb.END_DISAPPEAR, onEndDisapPic);
}
}
//конец картинке
private function onEndDisapPic(event:Event):void {
event.target.removeEventListener(PageAppearOb.END_DISAPPEAR, onEndDisapPic);
if (event.target is PagePicture) {
(event.target as PagePicture).deactivate();
}
deleteOb("pPic");
}
//тут же в основном классе ф-я для уничтожения ненужных объектов
private function deleteOb(nameOb:String = "NoName"):void {
target = null;
target = sprMain.getChildByName(nameOb);
if (target) {
sprMain.removeChild(target);
target = null;
}
}
**************************************************************************************
//и сам класс PagePicture
package {
public class PagePicture extends PageAppearOb {
public static const CLOSE_PIC: String = "CLOSE_PIC";
private var rectMask:Shape; //маска для рамки
private var loader:Loader;
private var loaderContent:DisplayObject;
override public function PagePicture(picW :int = 100,
picH :int = 200,
picName :String = "",
picTitle:String = "",
picTime :int = 0,
picX :int = -1,
picY :int = -1,
picScale:Number = 1,
blockButtonTime:int = 0) {
//тут было сохранение параметров......
super();
//загружаем картинку
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, initListener);
var urlRequest:URLRequest = new URLRequest(picName)
loader.load(urlRequest);
}
private function initListener(event:Event):void {
event.target.removeEventListener(Event.INIT, initListener);
loaderContent = loader.content;
addEventListener(PageAppearOb.END_APPEAR, onEndAppear);
}
//показываем картинку
private function onEndAppear(event:Event):void {
removeEventListener(PageAppearOb.END_APPEAR, onEndAppear);
if (loaderContent) spr.addChild(loaderContent);
loaderContent.mask = rect;
}
public function deactivate():void {
removeEventListener(PageAppearOb.END_APPEAR, onEndAppear);
removeEventListener(PageAppearOb.END_DISAPPEAR, onEndDisappear);
removeEventListener(MouseEvent.CLICK, mouseClickListener);
if (loader) {
loader.unload();
loader = null;
loaderContent = null;
}
}
Добавлено через 64 часа 4 минуты
НАРОД!!!! Очень прошу ответить!
Нормально ли это что после выгрузки внешних анимашек процессор загружен на 40% и не думает выгружаться?
Очень жду помощи!!!!!!
Извиняюсь за поднятие темы