Задержка загрузки изображения ImageView до отображения на экране? - PullRequest
0 голосов
/ 18 марта 2011

Я загружаю много изображений с сервера, и не могу забить сервер всеми этими запросами одновременно. Я хочу загружать изображения только после их прокрутки на экране, как в приложении Facebook для iPhone.

Кто-нибудь знает, как это сделать в Titanium?

Мне кажется, я видел подсказку в демонстрации Kitchen Sink / YQL: кажется, что таблица предоставит эту функциональность ImageView. Собираюсь проверить это ...

Ответы [ 2 ]

1 голос
/ 18 марта 2011

таблица будет загружать изображения для ячеек только после того, как строка станет видимой.

0 голосов
/ 18 марта 2011

Редактировать: игнорировать ниже, кажется, Appcelerator не ждет, пока изображения будут отрисованы, прежде чем запрашивать данные изображения. Звучит как ошибка.

Это звучит правильно для меня. Таблица (по крайней мере на iOS) будет лениво загружать свои ячейки, не обрабатывая их, пока они не появятся на экране. Вместо добавления множества изображений в представление, если вместо этого создать ячейки таблицы и вставить в них изображения, они будут загружаться по требованию. Вы всегда можете стилизовать таблицу, чтобы она не выглядела так, будто они в таблице, если вы не хотите этого эффекта.

var table = Ti.UI.createTableView({
    separatorColor: '#FFF' // Use this to hide the separator if you don't want it to look like a table
});

var images = []; // This contains your image views

var data = [];

for(var i=0, n=images.length; i<n; i++) {

    var cell = Ti.UI.createTableViewRow({
        className: 'image' // boosts performance
    });

    cell.add(images[i]);

    data.push(cell);

}

table.data = data;

// Then just add the table to your window
...