Спасибо всем, кто откликнулся
Привожу начальный вариант метода:
Код AS1/AS2:
private function _showImages(con:IVisualElementContainer, path:String): void {
// преднастроенная корневая папка
var appDir:File = pref.getFolder();
// path - относительный путь от корневой папки
var photoDir:File = appDir.resolvePath(path);
var arr:Array;
arr = photoDir.getDirectoryListing();
for (var i:int=0; i < arr.length; i++) {
var img:Image = new Image();
img.load( File(arr[i]).url );
img.width=100;
img.height=100;
img.scaleX = 1;
img.scaleY = 1;
con.addElement(img);
}
}
Данный метод вызывается несколько раз в зависимости от количества локальных папок (~5), предназначенных для чтения (настраивается в приложении).
Как я уже говорил грузится долго на компе с 2гб ОЗУ.
Переделал метод по другому:
Код AS1/AS2:
private function _showImages(con:IVisualElementContainer, path:String): void {
var appDir:File = pref.getFolder();
var photoDir:File = appDir.resolvePath(path);
var arr:Array;
arr = photoDir.getDirectoryListing();
for (var i:int=0; i < arr.length; i++) {
var imgLoader: Loader = new Loader();
imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
imgLoader.load(new URLRequest(File(arr[i]).url));
}
function onComplete(e:Event):void {
var bmp: Bitmap;
var img: Bitmap;
var spr: SpriteVisualElement = new SpriteVisualElement();
img = e.target.content as Bitmap ;
img.width=100;
img.height=100;
spr.width = 100;
spr.height = 100;
spr.addChild( img );
con.addElement(spr);
}
}
Второй вариант почему-то грузит не все картинки из папки (из 88 грузит 30). Это только
то, что визуально бросилось в глаза сразу.
Второй момент, можно ли как-то использовать только один объект Loader, вынеся его создание за тело цикла. Попробовал сам, но опять наткнулся на грабли - выводится только одна картинка из папки.
Буду рад любым комментариям или советам,
Заранее спасибо