Кэширование изображений для большого количества изображений HD

1

Я создаю приложение "Галерея изображений", которое будет получать около 50-60 изображений HD с сайта. Сайт будет обновлять список изображений три раза в неделю, и поэтому в следующий раз придется загружать новые изображения и удалять старые изображения, когда приложение будет запущено.

Какой лучший способ кешировать эти изображения и ленить загружать их без запуска в проблемы OutOfMemory и SoftReference? Ленивая загрузка будет необходима, потому что каждая миниатюра изображения имеет заголовок и замораживание пользовательского интерфейса эскиза до загрузки изображения не является хорошей идеей.

Кроме того, для ленивых загрузочных изображений - действительно ли это хорошая конструкция, чтобы создать поток для каждого эскиза и реализовать очередь для обработки потоков? Есть ли более простой способ?

Пожалуйста, помогите!

Спасибо за чтение!

Теги:
image
caching

2 ответа

0
Лучший ответ

Вы можете получить добычу в PicHelper из источника Zwitscher для класса, который выполняет выборку и сохранение в локальной файловой системе, так как а также чтение растровых изображений из этих файлов.

В главном коде вы должны запустить AsyncTask для извлечения изображений (в методе doInBackground(). Чтобы предотвратить OOME, я бы поместил список изображений в "очередь" и вытащил их в последовательном порядке, а не параллельно. Многие телефоны имеют только 48 Мбайт кучи или меньше.

0

Как вопрос общий, так и моя попытка помочь вам. Некоторые идеи: - загружать изображения в одну отдельную нить - либо хранить их как файлы с именами на SD-карте, либо... загружать их каждый раз, когда приложение запускается! - поместите их в GridView. Вы можете использовать обработчик сообщений (сообщения из потока в основной поток пользовательского интерфейса) для обновления GridView - если вы решили сохранить изображения на телефоне, укажите их либо по именам файлов, либо сохраните имена в локальной базе данных.

На самом деле я внедрил GridView для чтения изображений на SD-карте и ленивые загрузки изображений для списка, а не то, что вы пытаетесь сделать, но это определенно выполнимо, и вы, вероятно, можете найти какой-то код в сети.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню