В приложении для Android у меня есть набор миниатюр для скачивания. Поскольку пользователь использует приложение, этот набор миниатюр может содержать до 100 или более элементов, потенциально.
Миниатюры должны отображаться в галерее, и сейчас, когда эта галерея отображается, я запускаю один поток, чтобы загрузить все миниатюры от 0 до конца набора. Это плохо в нескольких отношениях - каждое изображение загружается, даже если оно не требуется, и если галерея имеет 30-й элемент по центру, то пользователь не увидит изображения для него, пока не будут загружены все первые 20 изображений. .
В идеале, я хотел бы, чтобы изображения загружались и отображались по мере необходимости - поэтому, если 30-й элемент был центрирован при отображении галереи, то 29-й, 30-й и 31-й элементы были бы загружены и отображены, тогда, если пользователь прокрутил влево 28, 27 и т. д. будут загружены. Я не уверен, что это реально / эффективно.
Я попытался запустить поток для загрузки изображения в классе адаптера галереи (который расширяет ArrayAdapter), но это, очевидно, запускает новый поток для каждого изображения при его прокрутке, поэтому приложение становится непригодным для использования.
У кого-нибудь есть мысли / советы о том, как этого добиться?
Cheers,
r3mo