Привет. SDK 1.6.2
Я храню местоположение снимков камеры в базе данных вместе с другой информацией.
У меня есть окно, которое проходит по базе данных и отображает изображения в виде маленьких плиточных миниатюр.
Чем больше у меня изображений, тем дольше это окно загружается (остается пустым до завершения)
Вот как я называю изображения:
var imageArray = [];
var images = [];
// open and parse database
var db = Titanium.Database.open('photoDB');
var dbrows = db.execute('select id, date, image, tags from images order by date asc');
while (dbrows.isValidRow()) {
imagesArray.push({
id: dbrows.fieldByName('id'),
image:dbrows.fieldByName('image'), // image is the location of the stored image inside of applicationDataDirectory
tags:dbrows.fieldByName('tags')
});
dbrows.next();
}
dbrows.close();
db.close();
// Load in the images
for (var i = 0; i < imageArray.length; i++){
var pushleft = ((i % 4) * 76); // tile from left
var pushtop = (Math.floor(i/4) * 100); //tile from top
var file = Titanium.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory, imageArray[i].image);
if(file.exists()){
images[i] = Ti.UI.createImageView({
image: file.nativePath,
width: 75,
height: 96,
left: pushleft,
top: pushtop,
store_id: imageArray[i].id,
zIndex: 99
});
win.add(images[i]);
}
}
Я не уверен, происходит ли задержка getFile
или, возможно, размер сохраняемых изображений?
У меня было сохранено 10 изображений, и это окно заняло 13 секунд для загрузки. Если бы я не знал, ждать, я бы подумал, что он сломался и покинул приложение ...
Есть мысли? Спасибо!