Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 06.02.2010, 03:13
tkaChuck вне форума Посмотреть профиль Отправить личное сообщение для tkaChuck Найти все сообщения от tkaChuck
  № 1  
Ответить с цитированием
tkaChuck

Регистрация: Nov 2005
Сообщений: 48
По умолчанию System.totalMemory: ударные темпы роста

Здравствуйте.

имеем [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");
			}
		}
	}


Последний раз редактировалось tkaChuck; 27.04.2010 в 09:08.
Создать новую тему   Часовой пояс GMT +4, время: 06:39.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 06:39.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.