Показать сообщение отдельно
Старый 28.10.2014, 15:27
climfree вне форума Посмотреть профиль Отправить личное сообщение для climfree Найти все сообщения от climfree
  № 1  
Ответить с цитированием
climfree

Регистрация: Jun 2013
Сообщений: 65
По умолчанию очистить значение BitmapData

Здравствуйте!
Использую. кеширование для растровых анимаций с помощью этого метода (это не весь метод, а только часть).
но при воспроизведении кешированых мувиков - ужасно растет опретивка пользователя(до 2 Гб).

Код AS3:
var bmpd:BitmapData = new BitmapData(Math.ceil(r.width), Math.ceil(r.height), true, 0x00000000);
// Кэшируем клип
var m:Matrix = new Matrix();
var n:int = clip.totalFrames;
for (var i:int = 1; i <= n; i++)
{
	clip.gotoAndStop(i);
	allChildGotoFrame(clip, i);
 
	var bmpd:BitmapData = new BitmapData(Math.ceil(r.width), Math.ceil(r.height), true,0x00000000);		
 
	m.identity();
	m.translate(-r.x, -r.y);
	m.scale(clip.scaleX, clip.scaleY);
	bmpd.draw(clip, m);
	frames[frames.length] = bmpd;
}
протестировав заметила, что если
var bmpd:BitmapData = new BitmapData(Math.ceil(r.width), Math.ceil(r.height), true,0x00000000);
вынести за пределы цикла, то оперативка спадает до 400мб(что очень круто!)
но если так сделать то получается что изображения одного роллика налаживаются олдин на другой.
подскажите, пожалуйста, как это исправить.
как удалять значение bmpdб но при этом чтоб не влияло на значение frames[frames.length]?